Hello,
J'insers des données en base de données (un devis avec des articles). Mon devis et mes articles s'ajoutent bien, mais une ligne en double (vide) dans la table article s'ajoute en base à chaque fois en même temps.
code:
formulaire d'insertion
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39 Données envoyées $('#bt_Envoi').click(function() { var params_envoi = { article_ref: [], article_devis : [], article_designationarticle: [], article_pu: [], article_unite: [], article_quantite: [], article_remise: [], article_total: [], devis_ref: [], devis_client: [], devis_contact: [], devis_fournisseur: [], devis_fabricant: [], devis_date: [], devis_daterelance: [] }; $(".article_ref").each(function() { params_envoi.article_ref.push( $(this).val()); }); $(".article_devis").each(function() { params_envoi.article_devis.push( $(this).val()); }); $(".article_designationarticle").each(function() { params_envoi.article_designationarticle.push( $(this).val()); }); $(".article_pu").each(function() { params_envoi.article_pu.push( $(this).val()); }); $(".article_unite").each(function() { params_envoi.article_unite.push( $(this).val()); }); $(".article_quantite").each(function() { params_envoi.article_quantite.push( $(this).val()); }); $(".article_remise").each(function() { params_envoi.article_remise.push( $(this).val()); }); $(".article_total").each(function() { params_envoi.article_total.push( $(this).val()); }); $(".devis_ref").each(function() { params_envoi.devis_ref.push( $(this).val()); }); $(".devis_client").each(function() { params_envoi.devis_client.push( $(this).val()); }); $(".devis_contact").each(function() { params_envoi.devis_contact.push( $(this).val()); }); $(".devis_fournisseur").each(function() { params_envoi.devis_fournisseur.push( $(this).val()); }); $(".devis_fabricant").each(function() { params_envoi.devis_fabricant.push( $(this).val()); }); $(".devis_date").each(function() { params_envoi.devis_date.push( $(this).val()); }); $(".devis_daterelance").each(function() { params_envoi.devis_daterelance.push( $(this).val()); }); $("#thedevis").load("../PHP/insert/article.php", params_envoi ); console.log( params_envoi ); }); });
Résultat en bdd d'une insertion.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40 <?php require_once('../../Include/connect.php') ; if(!empty($_POST['article_ref']) && !empty($_POST['article_total']) && !empty($_POST['article_ref'] != "") && !empty($_POST['article_devis'] != "0")) { foreach ($_POST['article_ref'] as $key => $value) { $article_ref = trim($_POST["article_ref"][$key]); $article_devis = trim($_POST["article_devis"][$key]); $article_designationarticle = trim($_POST["article_designationarticle"][$key]); $article_pu = trim($_POST["article_pu"][$key]); $article_unite = trim($_POST["article_unite"][$key]); $article_quantite = trim($_POST["article_quantite"][$key]); $article_remise = trim($_POST["article_remise"][$key]); $article_total = trim($_POST["article_total"][$key]); $req = $bdd->prepare("INSERT INTO article(article_ref, article_devis, article_designationarticle, article_pu, article_unite, article_quantite, article_remise, article_total) VALUES(?,?,?,?,?,?,?,?)"); $req->execute(array($article_ref,$article_devis, $article_designationarticle,$article_pu,$article_unite,$article_quantite,$article_remise,$article_total)); } foreach ($_POST['devis_ref'] as $key => $value) { $devis_ref = trim($_POST["devis_ref"][$key]); $devis_client = trim($_POST["devis_client"][$key]); $devis_contact = trim($_POST["devis_contact"][$key]); $devis_fournisseur = trim($_POST["devis_fournisseur"][$key]); $devis_fabricant = trim($_POST["devis_fabricant"][$key]); $devis_date = trim($_POST["devis_date"][$key]); $devis_daterelance = trim($_POST["devis_daterelance"][$key]); $req = $bdd->prepare("INSERT INTO devis(devis_ref, devis_client, devis_contact, devis_fournisseur, devis_fabricant, devis_date, devis_daterelance) VALUES(?,?,?,?,?,?,?)"); $req->execute(array($devis_ref,$devis_client,$devis_contact,$devis_fournisseur,$devis_fabricant,$devis_date,$devis_daterelance)); echo "<span class='success'>Votre devis a bien été créé.</span>"; } } ?> <script> setTimeout(function(){ location.replace("../Atelier/accueil.php") }, 1200); </script>
table Article:
Comme vous pouvez le voir, j'ai tenté des vérification du style
Mais rien y fait, il s'insers tout de même avec pour valeur 0.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 if(!empty($_POST['article_devis'] != "0"))
Merci d'avance
Partager