Maison >base de données >tutoriel mysql >Comment mettre à jour efficacement plusieurs lignes MySQL à partir d'un seul formulaire HTML ?

Comment mettre à jour efficacement plusieurs lignes MySQL à partir d'un seul formulaire HTML ?

DDD
DDDoriginal
2024-12-01 18:32:11437parcourir

How to Efficiently Update Multiple MySQL Rows from a Single HTML Form?

Soumission et mise à jour de plusieurs lignes dans MySQL

Problème :

Vous disposez d'un formulaire qui collecte des données pour plusieurs enregistrements de photos , permettant à l'utilisateur de modifier ses titres et ses balises. L'objectif est de mettre à jour tous les enregistrements sélectionnés dans la base de données.

Structure du formulaire :

Dans le formulaire, vous avez des champs pour chaque enregistrement photo :

<input type="text" name="photo_title[]" value="$title" />
<input type="text" name="photo_tags[]" value="$tags" />
<input type="hidden" name="photo_id[]" value="$id" />

Mettre à jour Requête :

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>

Solution :

Au lieu d'utiliser des champs de saisie individuels portant les mêmes noms, vous devez utiliser des tableaux dans les champs du formulaire. Cela vous permet de capturer plusieurs valeurs et de les parcourir dans les données POST. Ensuite, vous pouvez mettre à jour chaque ligne individuellement à l'aide d'une instruction préparée et des valeurs du tableau.

Cette approche garantit que tous les enregistrements sélectionnés sont mis à jour avec les nouvelles valeurs de titre et de balise.

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