formular+checkboxen

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • formular+checkboxen

    ich hab da ein problem mit den checkboxen. ich holl mir zb. 15 datensätze aus der db und generiere dynamisch ein formular mit checkboxen. wenn ich jetzt nur 1-2 gecheckt habe und auf senden klicke speichert er mir nicht zb. den 5 u. 6 datensatz sondern den letzten? ich kann nur etwas korrekt updaten wenn ich alle checkboxen aktiviere.

    PHP-Code:
    das ist die formular.php:

    <form action="check.php" name="form1" method="POST" enctype="multipart/form-data">
      <fieldset><legend>checking</legend>    
         <?
    $query20 = mysql_query("select COUNT(id) from newsart");
             list($homeanzahl)=mysql_fetch_row($query20);

      $a = 1;    
    for($i = 0; $i < $homeanzahl; $i++){
    $query = mysql_query("SELECT * FROM newsart where homeid = $a ORDER BY id ASC ");
        $cat = mysql_fetch_array($query);
       
                                     $checkid[$a] = $cat[id];
                                     $home_id[$a] = $cat[homeid];
             $home_title[$a] = $cat[title];
             $home_description[$a] = $cat[description];
             $home_image[$a] = $cat[image];
             $home_link[$a] = $cat[hyperlink];
             $home_breite[$a] = $cat[breite];
             $home_hoehe[$a] = $cat[hoehe];





    ?>
                  
                <table width="" border="0" cellpadding="0" cellspacing="0"  height="100%">
                  <tr> 
                    <td valign="top" class="newstop">ID:</td>
                    <td valign="top" class="newstop"><label><? echo $checkid[$a] ?></label> 
                      &nbsp;</td>
                    <td width="49" rowspan="6" valign="top" class="newstop">Link: 
                    </td>
                    <td width="49" rowspan="6" valign="top" class="newstop"><textarea name="hyperlinks[<? echo $a ?>]" cols="40" rows="10" id="hyperlinks"><? echo $home_link[$a] ?></textarea></td>
                    <td width="24" rowspan="6" valign="top" class="newstop">Beschreibung: 
                    </td>
                    <td width="12" rowspan="6" valign="top" class="newstop"><textarea name="beschreibung[<? echo $a ?>]" cols="40" rows="10" id="beschreibung"><? echo $home_description[$a] ?></textarea></td>
                    <td width="13" rowspan="6" valign="top" class="newstop">&nbsp;</td>
                  </tr>
                  <tr> 
                    <td width="84" valign="top" class="newstop">homeID:</td>
                    <td width="180" valign="top" class="newstop"><input name="homesid[<? echo $a ?>]" type="text"  value="<? echo $home_id[$a] ?>"  size="30" maxlength="30"></td>
                  </tr>
                  <tr> 
                    <td class="newstop" valign="top">Titel:</td>
                    <td  width="180" valign="top" class="newstop"><input name="titel[<? echo $a ?>]" type="text"  value="<? echo $home_title[$a] ?>"  size="30" maxlength="30"></td>
                  </tr>
                  <tr> 
                    <td class="newstop" valign="top">Bild: breite:</td>
                    <td width="180" valign="top" class="newstop"><input name="bildbreite[<? echo $a ?>]" type="text"  value="<? echo $home_breite[$a] ?>"  size="30" maxlength="30"></td>
                  </tr>
                  <tr> 
                    <td class="newstop" valign="top">höhe:</td>
                    <td  width="180" valign="top" class="newstop"><input name="bildhoehe[<? echo $a ?>]" type="text" value="<? echo $home_hoehe[$a] ?>"  size="30" maxlength="30"></td>
                  </tr>
                  <tr> 
                    <td class="newstop" valign="top">bildname:</td>
                    <td width="180" valign="top" class="newstop"><input name="bildname[<? echo $a ?>]" type="text"  value="<? echo $home_image[$a] ?>"  size="30" maxlength="30"></td>
                  </tr>
                  <tr align="center" bgcolor="#666666" > 
                    <td height="5" colspan="7" valign="top"> <input type="checkbox" name="check[<? echo $a ?>]" value="<? echo $checkid[$a] ?>" onclick="this.form.checked();"> 
                    </td>
                  </tr>
                  <?
    $a++;
     }


    ?>
                  <tr> 
                    <td colspan="4" valign="top" class="newstop"><input type="submit" name="Submit2" value="Abschickenb"> 
                    </td>
                    <td colspan="3" valign="top" class="newstop"><input type="Checkbox" name="alle" onClick="AlleBoxen(this.form);" value="alle">Alle checkboxen anhaken.</td>
                  </tr>
                </table>
            </fieldset>    </form>

    </td>
            </tr>
           </table>
    <?
    }
    ?>
    und hier das andere script(check.php) was die DB updaten soll:

    <?
    if($_POST['Submit2'] == "Abschickenb"){


    for($i = 0; $i <= count($_REQUEST['check']); $i++)
    {
      if(isset($_REQUEST['check'][$i]))
      {


    $sql = "UPDATE newsart";
    $sql .= "SET homeid = '".$_POST['homesid'][$i]."', ";
    $sql .= "title = '".$_POST['titel'][$i]."', ";
    $sql .= "description = '".$_POST['beschreibung'][$i]."', ";
    $sql .= "image = '".$_POST['bildname'][$i]."', ";
    $sql .= "hyperlink = '".$_POST['hyperlinks'][$i]."' , ";
    $sql .= "breite = '".$_POST['bildbreite'][$i]."', ";
    $sql .= "hoehe= '".$_POST['bildhoehe'][$i]."'";
    $sql .= "WHERE id = '".$_REQUEST['check'][$i]."'";
    mysql_db_query("xxxxxx", $sql);


     }

    }


     
    }


     ?>
    </td></tr></table>
    Zuletzt geändert von Stefan P; 21.09.2003, 23:21.

  • #2
    checkboxen, die nicht angekreuzt sind, werden nicht übertragen

    du musst also in deinem verarbeitenden skript prüfen, welche felder übertragen wurden und ausgehen davon deinen sql-string zusammenbauen

    btw:
    Beschreibung
    Habt ihr geniale Funktionen oder Routinen entwickelt? Hier könnt ihr euren Code posten.
    => nich zu den code-schnipseln
    Ich denke, also bin ich. - Einige sind trotzdem...

    Kommentar


    • #3
      die felder die du siehst gehören ja einer gruppe zusammen. nur wie gesagt speichert er mir wenn ich auf 5+6 datensatz checke die daten vom 6ten in adie beiden datensatze?

      Kommentar


      • #4
        lass dir mal das array $_POST mit print_r() ausgeben, um zu sehen, ob auch alle die daten ankommen, die du erwartest.
        I don't believe in rebirth. Actually, I never did in my whole lives.

        Kommentar

        Lädt...
        X