Enregistrer données dans 2 tables avec un seule ID

Fermé
meryem - 14 avril 2018 à 14:53
jordane45 Messages postés 38144 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 21 avril 2024 - 14 avril 2018 à 15:45
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!
A voir également:

1 réponse

jordane45 Messages postés 38144 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 21 avril 2024 4 650
14 avril 2018 à 14:56
Bonjour
Comme pour une seule table...avec des requêtes insert.
0
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
jordane45 Messages postés 38144 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 21 avril 2024 4 650
14 avril 2018 à 15:21
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
je suis sur mysqli il me faut une req while mais je sais pas comment faire
0
jordane45 Messages postés 38144 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 21 avril 2024 4 650
14 avril 2018 à 15:45
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