Frage von klausmoni12345, 83

Schwer zu beschreibendes PHP Problem?

Hallo liebe Community. Ich habe ein Problem mit PHP was aber sehr schwer zu beschreiben ist. Deswegen pack ich gleich mal den Code mit rein: http://pastebin.com/xQi5B4W4

Der Code soll Daten aus der Datenbank auslesen (Das hab ich ja schon). Wie ihr seht sind hinter den Namen Checkboxen und unten ein submit-button. Das Ziel ist, dass die Einträge, bei denen der Haken drin ist aus der Datenbank gelöscht werden soll. Ich hab aber keinen blassen schimmer wie ich das anstellen soll. Wie ich über SQL die Datensätze löschen soll ist kein Problem, aber bei mir haderts daran, dass ich nicht weiß wie ich auslesen kann welche Checkbox betätigt wurde und welche nicht. Ich habe euch auch mal ein Bild angehangen wie es gerade aussieht. Über einen Hinweis wäre ich sehr dankbar! :)

Hilfreichste Antwort - ausgezeichnet vom Fragesteller
von Kiboman, 43

so wie es jetzt ist dürftest du immer nir eine checkbox auswählen können die anderen müssten immer deselected werden.

schematisch

den namen der checkbox ändern

name="yes[row->id]"

dann bekommst du ein array unter $_POST['yes']

dass kannst du mit foreach durchlaufen und die einträge löschen


yes ist ein unzutreffenden name

prüfe den button mit isset() nicht emtpy()

Kommentar von klausmoni12345 ,

Okay. Danke für die aufschlussreiche Antwort (: ich komme mit dem foreach noch nicht ganz klar. Kannst du mir ein Beispiel geben ? (:

Kommentar von klausmoni12345 ,
Ich hab jetzt das hier: (Hab gerade erst mit php angefangen^^) 
if(isset($_POST['submit'])){
foreach($_POST['yes'] as $anfrage => $value){
if(isset($_POST['yes'])){
echo $value;
}
}
}
Kommentar von Kiboman ,

habs jetzt nicht getestet einfach nunr als beispiel geschrieben, wenn das fehler drinn sind verzeihe.

Dein erzeugtes Formular sollte etwa so aussehen:
<form method="post" action="">
<input type="checkbox" name="delete[1]" value="1" />
<input type="checkbox" name="delete[2]" value="2" />
<input type="checkbox" name="delete[3]" value="3" />
<input type="checkbox" name="delete[4]" value="4" />
</form>

die auswertung in etwa so:
<?php
if (isset ($_POST['send']) && isset ($_POST['delete']) && is_array ($_POST['delete'])) {
foreach ($_POST['delete'] as $id) {
$query = "DELETE FROM `table` WHERE `id` = '".$id."'";
echo $query;
mysqli_query ($link, $query);
}
}
?>
Kommentar von klausmoni12345 ,

tausenddank. aber wie mach ich das mit den zahlen im formular ?

Kommentar von klausmoni12345 ,

ok habs

Keine passende Antwort gefunden?

Fragen Sie die Community