stefan: checkbox Wertübergabe

hallo,
ich möchte bestimmte Datensätze aus einer mysql Datenbank löschen.
Über ein Suchformular kann man sich bestimmte Datensätze anzeigen lassen. Jeder Datensatz ist mit einer Checkbox versehen, der die ID der Datensätze übergibt. Beim drücken des submit buttons sollen die ID an eine SQL Syntax übergeben werden, die dann die entsprechenden Datensätze löscht. Klappt auch soweit; ABER:
Es wird immer nur eine ID also ein Wert übergeben und zwar der als letztes angeklickte.
Wie kann ich mehrere Werte übergeben?
//Hier wird die ID eingetragen
<input type="checkbox" name="ID" value="<?php echo $zeile[ID]; ?>"><?php echo $zeile[ID]; ?>
// Hier sollen die Datensätze gelöscht werden
mysql_connect("localhost", "admin", "sp0rts");
mysql_select_db("termine");
$abfrage = mysql_query("SELECT * FROM daten WHERE (ID = '$ID')");
while ($zeile = mysql_fetch_array($abfrage)):
  echo $zeile[ID];
  endwhile;
mysql_close();

Tausend Dank und viele Grüße
Stefan

  1. ?

    //Hier wird die ID eingetragen
    <input type="checkbox" name="ID" value="<?php echo $zeile[ID]; ?>"><?php echo $zeile[ID]; ?>
    // Hier sollen die Datensätze gelöscht werden
    mysql_connect("localhost", "admin", "sp0rts");
    mysql_select_db("termine");
    $abfrage = mysql_query("SELECT * FROM daten WHERE (ID = '$ID')");
    while ($zeile = mysql_fetch_array($abfrage)):
      echo $zeile[ID];
      endwhile;
    mysql_close();

    <input type="checkbox" name="ID[]" value="....">

    nach submit:

    for($i=0;$i<count($ID);$i++){
    mysql_query("DELETE from.... WHERE id='$ID[$i]'");
    }

    lg
    Ludwig

  2. Wie kann ich mehrere Werte übergeben?

    <input type="checkbox" name="ID" value="<?php echo $zeile[ID]; ?>"><?php echo $zeile[ID]; ?>

    Hallo!

    Die Variable name muss ein Array sein also name="ID[]", dass Du mit einer while-Schleife durchlaufen kannst.

    Gruss Kerstin

    1. Hallo,
      vielen Dank für eure Antworten.
      ABer leider funzt es noch nicht so richtig.
      Ich hab's folgendermaßen versucht:
      mysql_connect("localhost", "admin", "sp0rts");
      mysql_select_db("termine");
      if (isset($ID)) {
        reset($ID);
        while(list($k, $v) = each($ID)) {

      $abfrage = mysql_query("DELETE FROM daten WHERE (ID = '$ID')");
      echo mysql_affected_rows() . " Datensätze gelöscht!";
        echo $zeile[ID];
         print "$k $v\n";
        }
      }
      mysql_close();
      So bekomme ich jetzt zwar alle $ID übermittelt, aber es wird kein Datensatz gelöscht. Woran kanns liegen?
      Nochmal vielen DAnk und Grüße
      stefan

      Die Variable name muss ein Array sein also name="ID[]", dass Du mit einer while-Schleife durchlaufen kannst.

  3. huhu,
    alles zurück, es klappt jetzt. Nochmals danke und Grüße
    stefan
    PS:vielleicht ist ja noch interressant, wie:
    <?
    mysql_connect("localhost", "admin", "sp0rts");
    mysql_select_db("termine");
    if (isset($ID)) {
      reset($ID);
      while(list($k, $v) = each($ID)) {

    $abfrage = mysql_query("DELETE FROM daten WHERE (ID = '$v')");

    echo "<tr><td>DatensatzNr.<b>$k</b></td><td> mit der ID:<b>$v</b></td></tr>";

    }
    }

    mysql_close();
     ?>