Bonjour
Besoin de votre aide precieuse
J'utilise un formulaire pour entrer des données dans ma bdd. Il s'agit de données de commandes, ces données sont enregistrées sur 2 tables différentes.
Ce que j'aimerai faire c'est faire une transaction afin de m'assurer que mes données soient rentrées correctement dans les 2 tables.
La première requête ajoute name, adress, phone doivent aller dans la table tbl_order
ensuite on récupère l'id de ce nouvel enregistrement (order_id) et on passe à la seconde requête qui boucle sur les champs product_id, quantity et ajoute
order_id, product_id et quantity dans tbl_product.

Ma requete tbl_order_product
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
if(isset($_POST["product_id"]))
{
 include('database_connection.php');
 
 for($count = 0; $count < count($_POST["product_id"]); $count++)
 {
  $data = array(
   ':product_id'   => $_POST["product_id"][$count],
   ':quantity'   => $_POST["quantity"][$count]
 
  );
 
  $query = "
   INSERT INTO tbl_order_product
       (product_id, quantity)
       VALUES (:product_id, :quantity)
  ";
 
  $statement = $connect->prepare($query);
 
  $statement->execute($data);
 }
 
 echo 'ok';
}
Ma requete pour tbl_order
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
if(isset($_POST["order"]))
{
 include('database_connection.php');
 
  $data = array(
   ':name'   => $_POST["name"],
   ':adress'   => $_POST["adress"],
   ':phone'   => $_POST["phone"]
  );
 
  $query = "
   INSERT INTO tbl_order
       (name, adress, phone)
       VALUES (:name, :adress, :phone)
  ";
 
  $statement = $connect->prepare($query);
 
  $statement->execute($data);
 
 echo 'ok';
}
Merci de votre aide