löschen mehrerer Dinge gleichzeitig ! DRINGEND !

Sebastian

Erfahrenes Mitglied
Ich hab in meiner SQL Tabbelle emails gespeichert hab dafür einmal die Spalte ID und die Spalte für die eMail !
Ich hab das jetzt so gemacht das ich die auslese und jeweils vor die email eine checkbox kommt mit dem name="id" und halt als value die zugeörige id !
Wie muss jetzt meine delete.php aussehen das der die emails löscht die ausgewählt wurden ????

THX !
 
DELETE FROM tabelle WHERE id='$id' OR id='$id2'

Oder so, aber frag mich nicht wie das Form aussehen muss.

Vielleicht solltest du Arrays verwenden? Aber da musst du jemanden anderen fragen, da hört mein Wissen auf ;)

Gruss,
poolpage
 
dafuer solltest du echt lieber array nehmen.

Die Ausgabe:
<input name="id[]" value="1">Mail 1
<input name="id[]" value="2">Mail 2
usw.

dann,
delete.php
PHP:
void delete_from_DB($id) {
  // so oder so aehnlich
  mysql_query("DELETE FROM xxx WHERE id=$id");
}

// das sollte auch so stimmen
for ($i=0;$i<count($id);$i++) {
  delete_from_DB($id[$i]);
}

PS: Habe schon lange keine PHP-Siten gemacht.
 
Würde das auch mit Array machen, und das dann in ne for-Schleife packen wie Maximka es vorgeschlagen hat, scheint für mich die einfachste alternative.
 
also mein auslese script sieht so aus:

PHP:
...
$query="select * from $table_newsletter order by id asc";
$result=mysql_query($query,$conn_id);
$anzahl=mysql_numrows($result);
while ($row=mysql_fetch_array($result))
{$id=$row['id'];
$email=$row['email'];
echo "<tr><td><input type=\"checkbox\" name=\"id[]\" value=\"$id\"></td><td> $email</td></tr>\n";}
...

das haben ich dann in nem formular mit action zu delete.php

PHP:
<?
$conn_id=mysql_connect($host,$user,$pwd);
mysql_select_db($database,$conn_id);
for ($i=0;$i<count($id);$i++) {
  delete_from_DB($id[$i]);}
?>

bekomme aber folgenden fehler
Fatal error: Call to undefined function: delete_from_db() in delete.php on line 5
 
Zuletzt bearbeitet:
klar das diese Messi kommt.

Ich habe meine eigene Funktion erstellt,
diese muss vor dem Aufruf definiert bzw. deklariert sein.
Kann mich jetzt nicht genau erinnern.

also wenn du so schreibst,
wird es gehen:
PHP:
for ($i=0;$i<count($id);$i++) {
  mysql_query("DELETE FROM xxx WHERE id=".$id[$i]);
}

oder einfach die Funktion vor ihrem Aufruf plazieren.
PHP:
<?
// hier
$conn_id=mysql_connect($host,$user,$pwd);
// oder hier
mysql_select_db($database,$conn_id);
// oder hier
for ($i=0;$i<count($id);$i++) {
  delete_from_DB($id[$i]);}
?>
 

Neue Beiträge

Zurück