INSERT avec jointure
Résolu
papyclic
Messages postés
446
Date d'inscription
Statut
Membre
Dernière intervention
-
papyclic Messages postés 446 Date d'inscription Statut Membre Dernière intervention -
papyclic Messages postés 446 Date d'inscription Statut Membre Dernière intervention -
A voir également:
- Insert into jointure
- Touche insert - Guide
- Disk boot failure insert system disk and press enter - Guide
- Insert boot media in selected boot device and press a key ✓ - Forum Windows 10
- Jointure sql ✓ - Forum MySQL
- Activer touche insert sur ASUS UX32A - Forum Clavier
4 réponses
Bonjour
Avec tes explications qui m'ont bien guidé j'ai réussi à faire ce que je souhaitais. je me permet de t'envoyer ma fonction juste pour me donner ton avis sur le fait que je récupére non seulement le dernier Adherent inséré mais aussi la dernière date d'entrée, je trouve ça presque anormal, mais bon ça a le mérite de fonctionner, si tu peux me donner ton avis.
Je te remercie
Avec tes explications qui m'ont bien guidé j'ai réussi à faire ce que je souhaitais. je me permet de t'envoyer ma fonction juste pour me donner ton avis sur le fait que je récupére non seulement le dernier Adherent inséré mais aussi la dernière date d'entrée, je trouve ça presque anormal, mais bon ça a le mérite de fonctionner, si tu peux me donner ton avis.
Je te remercie
public function AjoutMembre() { $sql = "INSERT INTO tb_adherent(nom, prenom, email, naissance, fixe, mobile, adresse, lieu_dit, code_postal, ville, pseudo, password) VALUES(:nom, :prenom, :email, :naissance, :fixe, :mobile, :adresse, :lieu_dit, :code_postal, :ville, :pseudo, :password)"; $requete = $this->bdd->prepare($sql); $donnees = $requete->execute(array( 'nom' => $this->nom, 'prenom' => $this->prenom, 'email' => $this->email, 'naissance' => $this->naissance, 'fixe' => $this->fixe, 'mobile' => $this->mobile, 'adresse' => $this->adresse, 'lieu_dit' => $this->lieu_dit, 'code_postal' => $this->code_postal, 'ville' => $this->ville, 'pseudo' => $this->pseudo, 'password' => $this->password, )); $id_adherent = $this->bdd->lastInsertId(); $sql2 = "INSERT INTO tb_entree(debut, fin) VALUES(:debut, :fin)"; $requete2 = $this->bdd->prepare($sql2); $donnees = $requete2->execute(array( 'debut' => $this->debut, 'fin' => $this->fin, )); $rid_entree = $this->bdd->lastInsertId(); $sql = "INSERT INTO tb_adherent_tb_entree(rid_adherent, rid_entree) VALUES(:rid_adherent, :rid_entree)"; $requete = $this->bdd->prepare($sql); $requete->execute(array( 'rid_adherent' => $id_adherent, 'rid_entree' => $rid_entree, )); return $donnees; }
Bonjour,
Tu vas devoir faire Autant de requêtes INSERT qu'il y a de table.
(tu ne peux pas le faire en une seule instruction)
Donc... tu fais l'insertion dans ta première table
Tu récupères l'ID qui a été créé (via l'instruction lastInsertId )
Tu t'en sers pour faire l'insertion dans ta seconde table...
puis Idem... avec ta troisième table.
Tu vas devoir faire Autant de requêtes INSERT qu'il y a de table.
(tu ne peux pas le faire en une seule instruction)
Donc... tu fais l'insertion dans ta première table
Tu récupères l'ID qui a été créé (via l'instruction lastInsertId )
Tu t'en sers pour faire l'insertion dans ta seconde table...
puis Idem... avec ta troisième table.
Bonjour,
Merci de ton aide.
J'ai bien fait du moins je crois avoir fait ce que tu as dit, mais il y a quelque chose qui m'échappe en fait.
Lorsque je fait l'ajout d'un membre il y a aucun soucis mais l'ajout de la date ne ce fait pas.
Tu peux me donner ton avis s'il te plait, merci
Merci de ton aide.
J'ai bien fait du moins je crois avoir fait ce que tu as dit, mais il y a quelque chose qui m'échappe en fait.
Lorsque je fait l'ajout d'un membre il y a aucun soucis mais l'ajout de la date ne ce fait pas.
public function AjoutDateEntree() { $sql = "INSERT INTO tb_entree(debut, fin) VALUES(:debut, :fin)"; $requete = $this->bdd->prepare($sql); $donnees = $requete->execute(array( 'debut' => $this->debut, 'fin' => $this->fin, )); $id_adherent = $this->bdd->lastInsertId(); $sql = "INSERT INTO tb_adherent_tb_entree(rid_adherent, rid_entree) VALUES(:rid_adherent, :rid_entree)"; $requete = $this->bdd->prepare($sql); $requete->execute(array( 'rid_adherent' => $id_adherent, 'rid_entree' => $this->rid_entree, )); return $donnees; }
Tu peux me donner ton avis s'il te plait, merci
En fait je ne sais pas si c'est au niveau de l'organisation de mes fichiers qui ne vas pas.
J'ai un fichier de class pour mes fonctions "ajout membre"
un autre pour la class des fonctions "ajout entree"
un fichier avec mon formulaire qui fait appel à mes fonctions pour l'ajout des membres
et un fichier qui fait appel à mes fonctions pour l'ajout des dates
A ce niveau d'organisation je pense qu'il y a un problème.
T'en pense quoi?
Merci
J'ai un fichier de class pour mes fonctions "ajout membre"
un autre pour la class des fonctions "ajout entree"
un fichier avec mon formulaire qui fait appel à mes fonctions pour l'ajout des membres
et un fichier qui fait appel à mes fonctions pour l'ajout des dates
A ce niveau d'organisation je pense qu'il y a un problème.
T'en pense quoi?
Merci
Si tu as deux CLASS différentes pour gérer séparément les membres et les entrées ....
il faut alors découper ta fonction AjoutDateEntree() en deux .
Une fonction dans ta class des membres => qui retourne l' ID créé
et Une fonction dans ta class des entrées qui aura en paramètre l' ID membre
Puis appeller les deux fonctions dans ton code principale.....
il faut alors découper ta fonction AjoutDateEntree() en deux .
Une fonction dans ta class des membres => qui retourne l' ID créé
et Une fonction dans ta class des entrées qui aura en paramètre l' ID membre
Puis appeller les deux fonctions dans ton code principale.....