Bonjour,
J'essaie, en vain, de faire une double requête d'insertion avec pour la 2éme la récupération de la clé primaire créer dans la 1ere requête.
Je m'explique avec un exemple:
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
| <?php
$dbconnect=pg_connect("host=localhost dbname=Stanhome user=postgres password=.....");
$num_cli=$_POST['num_client'];
$total=$_POST['total_ht'];
$insert_commandes="INSERT INTO commandes (num_com, total_com, num_pers) VALUES (DEFAULT,'".$total."','".$num_cli."') RETURNING num_com";
pg_query($dbconnect, $insert_commandes);
$insert_ok=true;
foreach($_POST['num_produit'] as $cle=>$numproduit){
$qteproduit = $_POST['qte_produit'][$cle];
$insert_composer="INSERT INTO composer VALUES ('".$qteproduit."', num_com,'".$numproduit."')";
if(!$insert_composer) {$insert_ok=false;}
}
pg_query($dbconnect, $insert_composer);
if($insert_ok){
echo "Commande enregistrée";
}else{
echo "PB Commande non enregistrée";
}
?> |
Donc l'idée, dans la première requête:
$insert_commandes="INSERT INTO commandes (num_com, total_com, num_pers) VALUES (DEFAULT,'".$total."','".$num_cli."') RETURNING num_com";
Je dois insérer ceci dans ma bdd et récupérer (avec RETURNING ???) la clé primaire auto-incrémenté' (avec le DEFAULT) pour ensuite l'insérer dans la 2éme requête:
$insert_composer="INSERT INTO composer VALUES ('".$qteproduit."',ICI,'".$numproduit."')";
Or comment faire cela ?
Merci de votre aide =)
Partager