Enregistrer données dans 2 tables avec un seule ID

meryem -  
jordane45 Messages postés 30427 Date d'inscription   Statut Modérateur Dernière intervention   -
Bonjour!
s'ils vous plaît j'ai besoin de l'aide !
j'ai 2 tables dans ma base de donnée avec la colonne id

je veux enregistrer des données sur ces 2 tables avec un même id

comment je peux faire?

Merci d'avance!

1 réponse

  1. jordane45 Messages postés 30427 Date d'inscription   Statut Modérateur Dernière intervention   4 832
     
    Bonjour
    Comme pour une seule table...avec des requêtes insert.
    0
    1. meryem
       
      merci!
      voila mes req
      $sql ="INSERT INTO table1 (surname,firstname,sex) VALUES('$surname','$firstname','$sex')";
      $sql1 ="INSERT INTO table2 (attribute) VALUES('$attribute')";

      il s'enregistre mais avec un id different
      0
    2. jordane45 Messages postés 30427 Date d'inscription   Statut Modérateur Dernière intervention   4 832
       
      Par ce que ta colonbe if edt en auto invtement.
      Il te faut un second champ dans ta deuxième table pout y stocker l'id généré par ta première requête.
      Tu est en pdo ou mydqli pout tr connecter à ta bdd ?
      Cherche la fonction last insert id
      0
    3. meryem
       
      je suis sur mysqli il me faut une req while mais je sais pas comment faire
      0
    4. jordane45 Messages postés 30427 Date d'inscription   Statut Modérateur Dernière intervention   4 832
       
      Une requête "while" ça n'existe pas;

      Pour commencer, dans ta table2 tu dois ajouter un champ id_table1
      Puis si tu veux récupérer l' ID généré lors de l'insertion dans ta table 1 pour le mettre ensuite dans ta table 2 du dois le faire avec le code
      Avec le style procédurale
       
      $last_id = mysqli_insert_id($conn);
      

      ou si tu es en style objet :
       
      $last_id = $mysqli->insert_id;
      


      Il te suffira alors d'utiliser cet id lors de l'insertion dans ta seconde table
      $sql1 ="INSERT INTO table2 (id_table1,attribute) VALUES('$last_id', '$attribute')"; 
      
      0