Wie aktualisiere ich mehrere Zeilen in einer MySQL-Datenbank mithilfe eines Formulars?

DDD
Freigeben: 2024-11-05 14:59:02
Original
404 Leute haben es durchsucht

How to Update Multiple Rows in a MySQL Database Using a Form?

Formular veröffentlichen und mehrere Zeilen mit MySQL aktualisieren

Problem:

Sie haben ein erstellt Formular, das alle Fotos mit einer bestimmten Galerie-ID abruft und es Benutzern ermöglicht, ihre Titel und Tags zu aktualisieren. Der aktuelle Code aktualisiert jedoch keine Zeilen in der Datenbank.

Formularstruktur:

Das Formular generiert eine HTML-Liste von Fotos mit Eingabefeldern zum Aktualisieren dieser Titel, Tags und versteckte Felder zur Identifizierung ihrer IDs.

Update-Abfrage:

Die Update-Abfrage durchläuft jedes übermittelte Formular und führt für jedes Foto eine separate UPDATE-Anweisung aus . Wie codiert kann die Abfrage jedoch nicht korrekt auf die Formulardaten zugreifen.

Lösung:

Um mehrere Zeilen erfolgreich zu aktualisieren, müssen Sie die Formulardaten übermitteln als Arrays und durchlaufen Sie sie in der Aktualisierungsabfrage.

Formularaktualisierung:

Ändern Sie die Eingabefelder, um Werte als Arrays zu übermitteln:

echo "<input type='text' name='photo_title[]' value='$title' /><br />";
echo "<input type='text' name='photo_tags[]' value='$tags' />";
echo "<input type='hidden' name='photo_id[]' value='$id' />";
Nach dem Login kopieren

Umschreiben der Abfrage aktualisieren:

Durchlaufen Sie die Datenarrays des übermittelten Formulars:

foreach ($_POST['photo_id'] as $key => $photo_id) {
    $id = $photo_id;
    $title = $_POST['photo_title'][$key];
    $tags = $_POST['photo_tags'][$key];

    $sql = "UPDATE photos SET title=?, tags=? WHERE id=?";
    $query = $db->prepare($sql);
    $query->execute(array($title, $tags, $id));
}
Nach dem Login kopieren

Dieser aktualisierte Code durchläuft die übermittelten Formulardaten korrekt und extrahiert die aktualisierten Werte , und führen Sie die UPDATE-Anweisung für jedes Foto aus, um mehrere Zeilen in Ihrer MySQL-Datenbank erfolgreich zu aktualisieren.

Das obige ist der detaillierte Inhalt vonWie aktualisiere ich mehrere Zeilen in einer MySQL-Datenbank mithilfe eines Formulars?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage