A voir également:
- Insertion avec mysql
- Insertion liste déroulante excel - Guide
- Insertion signature word - Guide
- Insertion sommaire word - Guide
- Insertion filigrane word - Guide
- Mysql community server - Télécharger - Bases de données
23 réponses
Bobinours
Messages postés
2898
Date d'inscription
jeudi 26 avril 2001
Statut
Membre
Dernière intervention
21 mars 2013
504
22 janv. 2003 à 10:34
22 janv. 2003 à 10:34
Salut,
Il faut faire plusieurs insertion.
$result = mysql_query("INSERT INTO table1 (champ1, champ2, ...) VALUES ('valeur1', "valeur2', ...)") or die(mysql_error());
$result = mysql_query("INSERT INTO table2 (champ1, champ2, ...) VALUES ('valeur1', "valeur2', ...)") or die(mysql_error());
-= Bobinours - http://bobin.underlands.org =-
Il faut faire plusieurs insertion.
$result = mysql_query("INSERT INTO table1 (champ1, champ2, ...) VALUES ('valeur1', "valeur2', ...)") or die(mysql_error());
$result = mysql_query("INSERT INTO table2 (champ1, champ2, ...) VALUES ('valeur1', "valeur2', ...)") or die(mysql_error());
-= Bobinours - http://bobin.underlands.org =-
Bobinours
Messages postés
2898
Date d'inscription
jeudi 26 avril 2001
Statut
Membre
Dernière intervention
21 mars 2013
504
22 janv. 2003 à 11:32
22 janv. 2003 à 11:32
Je ne comprends pas ta question.
Regarde là si ça y répond : http://bobin.underlands.org/tutorial/enregistrer1.php
-= Bobinours - http://bobin.underlands.org =-
Regarde là si ça y répond : http://bobin.underlands.org/tutorial/enregistrer1.php
-= Bobinours - http://bobin.underlands.org =-
ben je veux faire la meme chose mais avec des données à insérer dans plusieurs tables!!! mais je vois pas comment faut faire!!
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
Bobinours
Messages postés
2898
Date d'inscription
jeudi 26 avril 2001
Statut
Membre
Dernière intervention
21 mars 2013
504
22 janv. 2003 à 11:48
22 janv. 2003 à 11:48
Bon...
En partant du formulaire du lien, tu as 3 champs : Nom, Email et Message.
Je désire insérer Nom et Email dans une table 1 et Message dans une table 2.
Je me connecte à la base : http://www.php.net/manual/fr/function.mysql-connect.php
Je choisi la base : http://www.php.net/manual/fr/function.mysql-select-db.php
Je fais la première requête :
$Requete_SQL1 = "INSERT INTO Table1 (nom, email) VALUES ('" . $nom . "', '" . $email . "')";
mysql_query($Requete_SQL1);
$Requete_SQL2 = "INSERT INTO Table2 (message) VALUES ('".$message."')";
mysql_query($Requete_SQL2);
Et voila.
-= Bobinours - http://bobin.underlands.org =-
En partant du formulaire du lien, tu as 3 champs : Nom, Email et Message.
Je désire insérer Nom et Email dans une table 1 et Message dans une table 2.
Je me connecte à la base : http://www.php.net/manual/fr/function.mysql-connect.php
Je choisi la base : http://www.php.net/manual/fr/function.mysql-select-db.php
Je fais la première requête :
$Requete_SQL1 = "INSERT INTO Table1 (nom, email) VALUES ('" . $nom . "', '" . $email . "')";
mysql_query($Requete_SQL1);
$Requete_SQL2 = "INSERT INTO Table2 (message) VALUES ('".$message."')";
mysql_query($Requete_SQL2);
Et voila.
-= Bobinours - http://bobin.underlands.org =-
bon ben on va compliquer un peu plus!!! mes deux tables ne sont pas reliées directement. en fait, c'est une autre table qui les relient!!
Bobinours
Messages postés
2898
Date d'inscription
jeudi 26 avril 2001
Statut
Membre
Dernière intervention
21 mars 2013
504
22 janv. 2003 à 12:27
22 janv. 2003 à 12:27
L'insertion n'a rien à voir avec plusieurs tables (comme les jointures).
Cependant, si tu veux récupérer les identifiants insérés, pour les lier dans une 3ème table, il te faut utiliser : http://php3.de/manual/fr/html/function.mysql-insert-id.html
En règle générale, pour chaque table, on utilise un champ ID qui est AUTOINCREMENT afin de ne pas s'occuper de sa valeur.
Lors de l'insertion, on aura juste à lui passer une valeur NULL pour que MySQL s'occupe du reste.
Ne connaissant donc pas sa valeur, il faut la récupérer grace à mysql_insert_id().
Tu fais une requête, tu récupères l'ID 1, tu fais la seconde requête, tu récupères l'ID 2
Et enfin, tu fais une troisième requête en insérant ID1 et ID2 dans la table relation.
Pour reprendre l'exemple ce dessus :
$Requete_SQL1 = "INSERT INTO Table1 (ID, nom, email) VALUES (NULL, '" . $nom . "', '" . $email . "')";
mysql_query($Requete_SQL1);
$ID1 = mysql_insert_id();
$Requete_SQL2 = "INSERT INTO Table2 (ID, message) VALUES (NULL, '".$message."')";
mysql_query($Requete_SQL2);
$ID1 = mysql_insert_id();
$Requete_SQL3 = "INSERT INTO Table3 (ID_table1, ID_table2) VALUES ('".$ID1."','".$ID2."')";
mysql_query($Requete_SQL3);
-= Bobinours - http://bobin.underlands.org =-
Cependant, si tu veux récupérer les identifiants insérés, pour les lier dans une 3ème table, il te faut utiliser : http://php3.de/manual/fr/html/function.mysql-insert-id.html
En règle générale, pour chaque table, on utilise un champ ID qui est AUTOINCREMENT afin de ne pas s'occuper de sa valeur.
Lors de l'insertion, on aura juste à lui passer une valeur NULL pour que MySQL s'occupe du reste.
Ne connaissant donc pas sa valeur, il faut la récupérer grace à mysql_insert_id().
Tu fais une requête, tu récupères l'ID 1, tu fais la seconde requête, tu récupères l'ID 2
Et enfin, tu fais une troisième requête en insérant ID1 et ID2 dans la table relation.
Pour reprendre l'exemple ce dessus :
$Requete_SQL1 = "INSERT INTO Table1 (ID, nom, email) VALUES (NULL, '" . $nom . "', '" . $email . "')";
mysql_query($Requete_SQL1);
$ID1 = mysql_insert_id();
$Requete_SQL2 = "INSERT INTO Table2 (ID, message) VALUES (NULL, '".$message."')";
mysql_query($Requete_SQL2);
$ID1 = mysql_insert_id();
$Requete_SQL3 = "INSERT INTO Table3 (ID_table1, ID_table2) VALUES ('".$ID1."','".$ID2."')";
mysql_query($Requete_SQL3);
-= Bobinours - http://bobin.underlands.org =-
je comprends pas pourquoi tu met ça :
" Lors de l'insertion, on aura juste à lui passer une valeur NULL pour que MySQL s'occupe du reste. "
" Lors de l'insertion, on aura juste à lui passer une valeur NULL pour que MySQL s'occupe du reste. "
est-ce que si j'insere une donnée dans la table 1 et une autre dans la table 2 ; est-ce quelles seront insérées automatiquement dans la 3° table?
Bobinours
Messages postés
2898
Date d'inscription
jeudi 26 avril 2001
Statut
Membre
Dernière intervention
21 mars 2013
504
22 janv. 2003 à 13:46
22 janv. 2003 à 13:46
Car pour les ID en AUTO-INCREMENT, il faut insérer NULL comme valeur de ce champ. MySQL va prendre le dernier indice qu'il a rentré précédemment et lui ajouter 1, tout ça automatiquement.
S'il te manque des documentation à ce sujet, va voir le site de http://www.mysql.com
-= Bobinours - http://bobin.underlands.org =-
S'il te manque des documentation à ce sujet, va voir le site de http://www.mysql.com
-= Bobinours - http://bobin.underlands.org =-
Bobinours
Messages postés
2898
Date d'inscription
jeudi 26 avril 2001
Statut
Membre
Dernière intervention
21 mars 2013
504
22 janv. 2003 à 13:52
22 janv. 2003 à 13:52
Aïe...
J'ai l'impression que les codes que j'écris ne servent à rien.
Non, la table 3 n'a aucun rapport. Il faut préciser que l'on veut faire une insertion dans cette table d'où mon :
$Requete_SQL3 = "INSERT INTO Table3 (ID_table1, ID_table2) VALUES ('".$ID1."','".$ID2."')";
mysql_query($Requete_SQL3);
$ID1 et $ID2 ayant étaient récupérés au préalable.
-= Bobinours - http://bobin.underlands.org =-
J'ai l'impression que les codes que j'écris ne servent à rien.
Non, la table 3 n'a aucun rapport. Il faut préciser que l'on veut faire une insertion dans cette table d'où mon :
$Requete_SQL3 = "INSERT INTO Table3 (ID_table1, ID_table2) VALUES ('".$ID1."','".$ID2."')";
mysql_query($Requete_SQL3);
$ID1 et $ID2 ayant étaient récupérés au préalable.
-= Bobinours - http://bobin.underlands.org =-
merci, je comprends mieux!!! par contre mes champs ne peuvent pas etre en autoincrement parce que les numéros serons déja définis auparavant. comment ça marche dans ce cs??
Bobinours
Messages postés
2898
Date d'inscription
jeudi 26 avril 2001
Statut
Membre
Dernière intervention
21 mars 2013
504
22 janv. 2003 à 14:56
22 janv. 2003 à 14:56
Dans ce cas, c'est encore plus simple :
// On définit les ID
$ID1 = "101";
$ID2 = "651";
$Requete_SQL1 = "INSERT INTO Table1 (ID, nom, email) VALUES ('". $ID1 ."', '" . $nom . "', '" . $email . "')";
mysql_query($Requete_SQL1);
$Requete_SQL2 = "INSERT INTO Table2 (ID, message) VALUES ('". $ID2 ."', '".$message."')";
mysql_query($Requete_SQL2);
$Requete_SQL3 = "INSERT INTO Table3 (ID_table1, ID_table2) VALUES ('".$ID1."','".$ID2."')";
mysql_query($Requete_SQL3);
-= Bobinours - http://bobin.underlands.org =-
// On définit les ID
$ID1 = "101";
$ID2 = "651";
$Requete_SQL1 = "INSERT INTO Table1 (ID, nom, email) VALUES ('". $ID1 ."', '" . $nom . "', '" . $email . "')";
mysql_query($Requete_SQL1);
$Requete_SQL2 = "INSERT INTO Table2 (ID, message) VALUES ('". $ID2 ."', '".$message."')";
mysql_query($Requete_SQL2);
$Requete_SQL3 = "INSERT INTO Table3 (ID_table1, ID_table2) VALUES ('".$ID1."','".$ID2."')";
mysql_query($Requete_SQL3);
-= Bobinours - http://bobin.underlands.org =-
et s'il ya deux sortes d'identifiants....cad, il ya des identifiants définis auparavant et d'autres non définis???
Bobinours
Messages postés
2898
Date d'inscription
jeudi 26 avril 2001
Statut
Membre
Dernière intervention
21 mars 2013
504
22 janv. 2003 à 15:15
22 janv. 2003 à 15:15
Dans ce cas, tu mixes les deux techniques.
-= Bobinours - http://bobin.underlands.org =-
-= Bobinours - http://bobin.underlands.org =-
ah zut!!! va yavoir un pb vu que les id qui sont définis auparavant sont enregistré lors du remplissage de la bd!!! ça complique tout!!!
Bobinours
Messages postés
2898
Date d'inscription
jeudi 26 avril 2001
Statut
Membre
Dernière intervention
21 mars 2013
504
22 janv. 2003 à 15:34
22 janv. 2003 à 15:34
Ah mince...
Dans ce cas ce n'est pas possible :o)
a+
-= Bobinours - http://bobin.underlands.org =-
Dans ce cas ce n'est pas possible :o)
a+
-= Bobinours - http://bobin.underlands.org =-