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:
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 );  
    });
  });
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
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>
Résultat en bdd d'une insertion.
table Article:
Nom : ok.png
Affichages : 145
Taille : 5,5 Ko

Comme vous pouvez le voir, j'ai tenté des vérification du style
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
 
if(!empty($_POST['article_devis'] != "0"))
Mais rien y fait, il s'insers tout de même avec pour valeur 0.
Merci d'avance