Mehrere checkboxes erkennen und dazugehöriges löschen.
lima-city → Forum → Programmiersprachen → PHP, MySQL & .htaccess
auswertung
boxen
button
element
elemente
error
formular
gedanken
gel
hilfe
klicken
nachrichtensystem
pack
set
stecken
tabelle
update
-
Hallo, ich habe ein nachrichtensystem, bei dem man mehrere Nachrichten per checkbox markieren und auf einen klick l?schen.
die checkboxen hei?en so wir das INT-feld (id) in der tabelle `nachrichten`
Wie kann ich nun diese abfrage f?r jede markierte checkbox ausf?hren?
UPDATE nachrichten Set noch_da = '0' WHERE id = '$der-name-einer-checkbox';
-
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage
-
Dar?ber hab ich mir auch schon Gedanken gemacht und bin (mit ein wenig Hilfe), auf folgende L?sung gekommen:
Du kannst alle Checkboxen in ein Array stecken und dann weiter verwerten. Der Code f?r die Checkboxen ist dann so:
echo "<input type=checkbox name=delbox[] value=$id>";
Dann das Formular einfach abschicken. Zum auswerten, welche Box nun gechecked ist, dient das:
if(isset($_POST['delbox'])) // ?berpr?fen, ob ?berhaupt eine Box gechecked ist { $delbox2 = $_POST['delbox']; // POST-Array verwerten foreach($delbox2 as $k => $v) // Array-Elemente, die belegt sind, in neues Array stecken { $delbox3[$k] = $v; } foreach($delbox3 as $k => $v) // jedes Array-Element updaten { $sqlkommando= "UPDATE nachrichten Set noch_da = '0' WHERE id = '$v'"; mysql_query($sqlkommando) or die("Error: " . mysql_error()); } }
Ist zwar sicherlich nicht perfekt, aber funzt. -
Das ganze is SEHR einfach, wenn man ein wenig ?berlegt und ausprobiert ;)
Der Trick ist, in die while()-Auswertung die POST-Abfrage f?r jede checkbox zu packen.
Dann machst du einen subit-button.
Der reloaded die seite, alle checkboxen bekommen ihren Wert und dort ist auch schon eine angepasste Abfrage f?r sie reserviert!
Also werden sie gel?scht.
In die POST-Abfrage packst du dann eben nochmal ein reload rein und fertig ;) -
na du machst das einfach so:
for($i=1;$i<=anzahl_der_checkboxen;$i++) { if(isset($_POST['checkbox'.$i])) { mysql_query("UPDATE nachrichten Set noch_da = '0' WHERE id = $i"); } }
Die Checkbox darf nicht nur einfach eine Zahl als namen haben, damit es funzt -
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage