Se connecter avec
S'enregistrer | Connectez-vous

[PHP] INSERT sur plusieurs table via un formulaire comment faire ?

Dernière réponse : dans Programmation

bonjour tout le monde, voila j'ai une petite question j'ai un formulaire avec plusieur champs et j'aimerai que les infos entré dans ce formulaire aille directement dans les tables respectives comment faire je vous montre mon script la maniere dont j'ai cru comprendre je vous signale qu'il ne marche pas donc si vous pouvez m'aider et dite moi comment dois je procedé si vous pouvez me corriger se serai trop bien :(  merci

  1. <?php
  2. //connection au serveur
  3. $cnx = mysql_connect( "localhost", "root", "" ) ;
  4.  
  5. //sélection de la base de données:
  6. $db = mysql_select_db( "projet 2006-2007test" ) ;
  7.  
  8. //récupération des valeurs des champs:
  9. //nom:
  10. $Nom_Etudiant = $_POST["Nom_Etudiant"] ;
  11. //Prénom_Etudiant:
  12. $Prénom_Etudiant = $_POST["Prénom_Etudiant"] ;
  13. //Titre:
  14. $Titre = $_POST["Titre"] ;
  15. //Résumé:
  16. $Résumé = $_POST["Résumé"] ;
  17. //Niveau:
  18. $Niveau = $_POST["Niveau"] ;
  19. //Type:
  20. $Type = $_POST["Type"] ;
  21. //Année_Scolaire:
  22. $Année_Scolaire = $_POST["Année_Scolaire"] ;
  23. //Code:
  24. $Code = $_POST["Code"] ;
  25. //Nom_Entreprise:
  26. $Nom_Entreprise = $_POST["Nom_Entreprise"] ;
  27. //Secteur:
  28. $Secteur = $_POST["Secteur"] ;
  29. //Adresse:
  30. $Adresse = $_POST["Adresse"] ;
  31. //Ville:
  32. $Ville = $_POST["Ville"] ;
  33. //Code postal:
  34. $CP = $_POST["CP"] ;
  35.  
  36. //création de la requête SQL:
  37. $sql = "INSERT INTO etudiant(Nom_Etudiant,Prénom_Etudiant)
  38. VALUES ( '$Nom_Etudiant','$Prénom_Etudiant')"
  39.  
  40. $sql = "INSERT INTO document(Titre,Résumé,Niveau,Type,Année_Scolaire,Code)
  41. VALUES ( '$Titre','$Résumé','$Niveau','$Type','$Année_Scolaire','$Code')"
  42.  
  43. $sql = "INSERT INTO entreprise(Nom_Entreprise)
  44. VALUES ( '$Nom_Entreprise') "
  45.  
  46. $sql = "INSERT INTO secteur(Secteur)
  47. VALUES ( '$Secteur')" ;
  48.  
  49. $sql = "INSERT INTO adresse(Adresse,Ville,CP)
  50. VALUES ( '$Adresse'$Ville','$CP') " ;
  51.  
  52.  
  53. //exécution de la requête SQL:
  54. $requete = mysql_query($sql, $cnx) or die( mysql_error() ) ;
  55.  
  56. //affichage des résultats, pour savoir si l'insertion a marchée:
  57. if($requete)
  58. {
  59. echo("L'insertion a été correctement effectuée") ;
  60. }
  61. else
  62. {
  63. echo("L'insertion à échouée") ;
  64. }
  65. ?>
Lassé par la pub ? Créez un compte

à chaque fois tu écrases la variables $sql, donc à la fin, tu n'exécutes que la dernière requete.
correction rapide mais pas la meilleure: rajoutes un ; à la fin de chaque requete, et utilise $sql .= sauf pour la premiere requete, ca devrait marcher

ah ça marche :bounce:  :bounce:  :bounce:  :bounce:  maintenant en faite je ne sais pas si c'est bien ce que tu voulais me dire mais j'ai essayé un truc ça marche maintenant voila la syntaxe
  1. <?php
  2. //connection au serveur
  3. $cnx = mysql_connect( "localhost", "root", "" ) ;
  4.  
  5. //sélection de la base de données:
  6. $db = mysql_select_db( "projet 2006-2007test" ) ;
  7.  
  8. //récupération des valeurs des champs:
  9. //nom:
  10. $Nom_Etudiant = $_POST["Nom_Etudiant"] ;
  11. //Prénom_Etudiant:
  12. $Prénom_Etudiant = $_POST["Prénom_Etudiant"] ;
  13. //Titre:
  14. $Titre = $_POST["Titre"] ;
  15. //Résumé:
  16. $Résumé = $_POST["Résumé"] ;
  17. //Niveau:
  18. $Niveau = $_POST["Niveau"] ;
  19. //Type:
  20. $Type = $_POST["Type"] ;
  21. //Année_Scolaire:
  22. $Année_Scolaire = $_POST["Année_Scolaire"] ;
  23. //Code:
  24. $Code = $_POST["Code"] ;
  25. //Nom_Entreprise:
  26. $Nom_Entreprise = $_POST["Nom_Entreprise"] ;
  27. //Secteur:
  28. $Secteur = $_POST["Secteur"] ;
  29. //Adresse:
  30. $Adresse = $_POST["Adresse"] ;
  31. //Ville:
  32. $Ville = $_POST["Ville"] ;
  33. //Code postal:
  34. $CP = $_POST["CP"] ;
  35.  
  36. //création de la requête SQL:
  37. $sql1 = "INSERT INTO etudiant(Nom_Etudiant,Prénom_Etudiant)
  38. VALUES ( '$Nom_Etudiant','$Prénom_Etudiant')"
  39.  
  40. $sql2 = "INSERT INTO document(Titre,Résumé,Niveau,Type,Année_Scolaire,Code)
  41. VALUES ( '$Titre','$Résumé','$Niveau','$Type','$Année_Scolaire','$Code')"
  42.  
  43. $sql3 = "INSERT INTO entreprise(Nom_Entreprise)
  44. VALUES ( '$Nom_Entreprise') "
  45.  
  46. $sql4 = "INSERT INTO secteur(Secteur)
  47. VALUES ( '$Secteur')" ;
  48.  
  49. $sql5 = "INSERT INTO adresse(Adresse,Ville,CP)
  50. VALUES ( '$Adresse','$Ville','$CP') " ;
  51.  
  52.  
  53. //exécution de la requête SQL:
  54. $requete = mysql_query($sql1, $cnx) or die( mysql_error() ) ;
  55. $requete = mysql_query($sql2, $cnx) or die( mysql_error() ) ;
  56. $requete = mysql_query($sql3, $cnx) or die( mysql_error() ) ;
  57. $requete = mysql_query($sql4, $cnx) or die( mysql_error() ) ;
  58. $requete = mysql_query($sql5, $cnx) or die( mysql_error() ) ;
  59.  
  60.  
  61. //affichage des résultats, pour savoir si l'insertion a marchée:
  62. if($requete)
  63. {
  64. echo("L'insertion a été correctement effectuée") ;
  65. }
  66. else
  67. {
  68. echo("L'insertion à échouée") ;
  69. }
  70. ?>

j'espere que les gens qui étaient dans mon cas trouveront leur bonheur sur ce post :wahoo:  :hello: 
Lassé par la pub ? Créez un compte
Tom's guide dans le monde