Maison >développement back-end >tutoriel php >Comment mettre à jour plusieurs lignes dans MySQL avec les données de formulaire publiées ?

Comment mettre à jour plusieurs lignes dans MySQL avec les données de formulaire publiées ?

Mary-Kate Olsen
Mary-Kate Olsenoriginal
2024-11-06 02:10:03394parcourir

How to Update Multiple Rows in MySQL with Posted Form Data?

Mise à jour de plusieurs lignes avec les données de formulaire publiées dans MySQL

Lorsque vous travaillez avec des formulaires qui nécessitent la mise à jour de plusieurs lignes dans une base de données, il est essentiel de gérer correctement les soumissions de données. Cet article aborde un scénario spécifique dans lequel un formulaire est utilisé pour collecter des informations (titre et balises) pour plusieurs photos et mettre à jour leurs enregistrements dans une base de données MySQL.

Le formulaire

Le formulaire rassemble des données pour chaque photo liée à un identifiant de galerie spécifique. Pour chaque photo, il comprend des entrées pour le titre et les balises, ainsi qu'une entrée cachée pour l'identité de la photo. Ces informations sont soumises lors du traitement du formulaire.

La requête de mise à jour

La requête de mise à jour est destinée à mettre à jour le titre et les balises de chaque photo en fonction des données publiées. Cependant, le problème survient lorsque vous essayez de lier des paramètres à la requête.

Solution

La clé pour résoudre ce problème est de soumettre les champs de saisie avec les noms de tableau, comme plusieurs champs portant le même nom ne peuvent pas être traités comme des champs individuels. En les soumettant sous forme de tableaux, nous pouvons parcourir les données publiées et mettre à jour chaque ligne en utilisant l'ID correspondant.

Code ajusté

L'extrait de code modifié pour l'entrée HTML champs est le suivant :

<code class="html">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' />";</code>

Le code mis à jour pour la boucle de requête de mise à jour :

<code class="php">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));
}</code>

En soumettant les données du formulaire sous forme de tableaux et en itérant sur les valeurs, vous pouvez mettre à jour efficacement plusieurs lignes dans la base de données en fonction des informations publiées.

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!

Déclaration:
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