Bonjour,

Avant toute chose, j'espère être dans la bonne section, si ce n'est le cas, je m'en excuse par avance.
J'ai un souci pour insérer une seconde requête qui ne permet d'insérer les lignes d'un bon de commande qui proviennent de lignes d'un devis.
Dans mon second $insertSQL (cf code ci dessous), j'ai apparemment un pb avec $id_devis_FK, si je laisse la variable, ma deuxième requête ne s'insère pas, si je la remplace par une valeur numérique, ça fonctionne.
Et là, j'aurai besoin de vos savoir faire !! Vous en remerciant par avance.

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
 
<?php
// Récupération de la variable id_devis envoyée avec POST
$id_devis_FK=$_POST['id_devis'];
 
// Nb de bons de commande
$Total_Bc= mysql_query("SELECT MAX(id_bc) FROM bons_commande") or die(mysql_error());
$row_Total_Bc= mysql_fetch_assoc($Total_Bc);
$TotalBc=$row_Total_Bc['MAX(id_bc)']+1; // Nb total de bons de commande dans la table + 1 pour avoir le suivant
 
if ((isset($_POST["MM_insert"])) && ($_POST["MM_insert"] == "form1")) {
  $insertSQL = sprintf("INSERT INTO bons_commande (id_bc, id_firm_FK, id_sales_person_FK, commentaire, valide, 'date') VALUES (%s, %s, %s, %s, %s, %s)",
                       GetSQLValueString($_POST['id_bc'], "int"),
                       GetSQLValueString($_POST['id_firm_FK'], "int"),
                       GetSQLValueString($_POST['id_sales_person_FK'], "int"),
                       GetSQLValueString($_POST['commentaire'], "text"),
                       GetSQLValueString($_POST['valide'], "int"),
                       GetSQLValueString($_POST['date'], "date"));
 
  mysql_select_db($database_bdd, $bdd);
  $Result1 = mysql_query($insertSQL, $bdd) or die(mysql_error());
 
  // Je met la variable $Total_Bc à la place de id_devis_FK
  // Champs de ma table devis_ligne : id_ligne, id_devis_FK, service, quantite, prix_ht, tva_FK
  // Champs de ma table bons_commandes_lignes : id_ligne, id_bc_FK, service, quantite, prix_ht, tva_FK 
  $insertSQL = sprintf("INSERT INTO bons_commande_lignes (id_bc_FK, service, quantite, prix_ht, tva_FK) 
  SELECT '$TotalBc', service, quantite, prix_ht, tva_FK 
  FROM devis_lignes 
  WHERE id_devis_FK='$id_devis_FK'"); // Si je remplace $id_devis_FK par une valeur numérique, ça fonctionne
  // Si j utilise la variable $id_devis_FK, rien ne s insére dans ma table
 
  $Result2 = mysql_query($insertSQL, $bdd) or die(mysql_error());
}
?>