Maison > développement back-end > tutoriel php > Comment insérer plusieurs tableaux de cases à cocher et de zones de texte dans une base de données MySQL avec PHP ?

Comment insérer plusieurs tableaux de cases à cocher et de zones de texte dans une base de données MySQL avec PHP ?

DDD
Libérer: 2024-10-28 07:37:30
original
385 Les gens l'ont consulté

How to Insert Multiple Checkbox and Textbox Arrays into a MySQL Database with PHP?

Insertion PHP de plusieurs tableaux de cases à cocher et de zones de texte dans une base de données MySQL

Insertion de plusieurs tableaux de valeurs de cases à cocher et de zones de texte dans une base de données MySQL à l'aide de poses PHP des défis uniques. Abordons deux problèmes courants :

Affichage incorrect des cases à cocher :
Le formulaire HTML fourni n'indexe pas explicitement les noms des cases à cocher. En conséquence, toutes les cases à cocher sont affichées comme cochées, quel que soit leur état réel.

Solution : Indexez les noms des cases à cocher en utilisant un identifiant unique pour chaque case à cocher. Par exemple :

<code class="html"><input tabindex="1" name="checkbox[0]" type="checkbox" value="17" />
<input tabindex="1" name="checkbox[1]" type="checkbox" value="20" /></code>
Copier après la connexion

Échec de l'insertion des données :
Bien que la connexion à la base de données soit établie, l'insertion des données dans le tableau des achats échoue.

Solution :

  1. Utiliser des tableaux indexés : indexez les tableaux d'articles, de quantités et de cases à cocher pour qu'ils correspondent à leurs éléments respectifs.
<code class="php">foreach ($_POST['checkbox'] as $i => $price) {
    $name = $_POST['name'][$i];
    $quantity = $_POST['quantity'][$i];
    //...
}</code>
Copier après la connexion
  1. Utiliser les instructions préparées : utilisez des instructions préparées pour empêcher l'injection SQL et améliorer les performances.
<code class="php">$stmt = $conn->prepare("INSERT INTO purchases (Product, Quantity, Price) VALUES (?, ?, ?)");
$stmt->bind_param("sis", $name, $quantity, $price);
$stmt->execute();</code>
Copier après la connexion
  1. Récupérer les prix de la base de données  : Stockez les prix dans la base de données au lieu du HTML pour empêcher les utilisateurs de les manipuler.

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