Comment mettre à jour plusieurs lignes dans une base de données MySQL à l'aide d'un formulaire ?

DDD
Libérer: 2024-11-05 14:59:02
original
351 Les gens l'ont consulté

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

Publier le formulaire et mettre à jour plusieurs lignes avec MySQL

Problème :

Vous avez créé un formulaire qui récupère toutes les photos avec un identifiant de galerie spécifique et permet aux utilisateurs de mettre à jour leurs titres et balises. Cependant, le code actuel ne met à jour aucune ligne dans la base de données.

Structure du formulaire :

Le formulaire génère une liste HTML de photos, avec des champs de saisie pour mettre à jour leur titres, balises et champs cachés pour identifier leurs identifiants.

Requête de mise à jour :

La requête de mise à jour parcourt chaque formulaire soumis et exécute une instruction UPDATE distincte pour chaque photo . Cependant, telle que codée, la requête ne parvient pas à accéder correctement aux données du formulaire.

Solution :

Pour mettre à jour avec succès plusieurs lignes, vous devez soumettre les données du formulaire sous forme de tableaux et parcourez-les dans la requête de mise à jour.

Mise à jour du formulaire :

Modifiez les champs de saisie pour soumettre les valeurs sous forme de tableaux :

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' />";
Copier après la connexion

Mettre à jour la réécriture de la requête :

Parcourir les tableaux de données du formulaire soumis :

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));
}
Copier après la connexion

Ce code mis à jour parcourra correctement les données du formulaire soumis et extraira les valeurs mises à jour. et exécutez l'instruction UPDATE pour chaque photo, en mettant à jour avec succès plusieurs lignes dans votre base de données MySQL.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal
À propos de nous Clause de non-responsabilité Sitemap
Site Web PHP chinois:Formation PHP en ligne sur le bien-être public,Aidez les apprenants PHP à grandir rapidement!