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 de données
Le formulaire initial est chargé de présenter les données à modifier. Dans cet exemple, le formulaire récupère toutes les photos avec un GALLERY_id spécifique dans la base de données et les affiche avec des champs permettant de 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 :
Boucle 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 "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 :
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)); }
En suivant ces étapes, vous pouvez publier efficacement les données d'un formulaire et mettre à jour plusieurs lignes dans une table MySQL.
Clause de non-responsabilité: Toutes les ressources fournies proviennent en partie d'Internet. En cas de violation de vos droits d'auteur ou d'autres droits et intérêts, veuillez expliquer les raisons détaillées et fournir une preuve du droit d'auteur ou des droits et intérêts, puis l'envoyer à l'adresse e-mail : [email protected]. Nous nous en occuperons pour vous dans les plus brefs délais.
Copyright© 2022 湘ICP备2022001581号-3