Mise à jour de plusieurs lignes MySQL avec des données de formulaire
Dans le développement Web, il est courant d'avoir un formulaire dans lequel les utilisateurs peuvent modifier les enregistrements d'une base de données. Un scénario courant consiste à mettre à jour plusieurs lignes dans la même table avec des données modifiées. Ceci peut être réalisé en utilisant PHP et MySQL.
Structure du formulaire et récupération des données
Le formulaire initial est chargé de présenter les données à éditer. Dans cet exemple, le formulaire récupère toutes les photos avec un GALLERY_id spécifique de la base de données et les affiche avec des champs pour modifier le titre et les balises de la photo.
Soumission et mises à jour des données
Lorsque le formulaire est soumis, les données sont envoyées à un script PHP pour traitement. Le script utilise la boucle foreach pour parcourir les données publiées et extraire les valeurs de l'identité de la photo, du titre et des balises.
Mise à jour des lignes avec les déclarations préparées
Le prochain L'étape consiste à mettre à jour les lignes correspondantes dans la base de données. Pour cela, une instruction préparée est utilisée. Cela implique :
Bouclage sur les tableaux de formulaire
Pour permettre la mise à jour de plusieurs lignes, les champs du formulaire HTML sont soumis sous forme de tableaux. Ceci est réalisé en utilisant la notation [] dans les noms de champs :
echo "<input type='text' name='photo_title[]' value='$title' />";
Dans le script PHP, ces tableaux sont accessibles à l'aide de la boucle foreach, permettant au script de parcourir les données et de mettre à jour chaque ligne en conséquence.
Exemple de code
Le script PHP mis à jour ressemblerait à ceci :
<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 suivant ces étapes, vous pouvez publier efficacement les données du formulaire et mettre à jour plusieurs lignes dans une table 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!