Maison  >  Article  >  développement back-end  >  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
DDDoriginal
2024-10-28 07:37:30273parcourir

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>

É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>
  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>
  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!

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