Requète SELECT 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 -
Bonjour,
J'ai une requète avec jointure avec laquelle tout se passe bien
là voici
mais il faut que je rajoute une table et là mon formulaire ne s'affiche plus.
Pouvez me dire, s'ils vous plait si ma requète avec 3 tables est bonne pour savoir si mon problème est lié avec cette requète.
Je vous remercie
J'ai une requète avec jointure avec laquelle tout se passe bien
là voici
$sql = "SELECT * FROM tb_gestion_admin INNER JOIN tb_adherent ON tb_adherent.id_adherent = tb_gestion_admin.rid_adherent WHERE id_adherent = :id_adherent AND actif = 1"; $requete = $bdd->prepare($sql); $requete->execute(array( 'id_adherent' => $id_adherent ));
mais il faut que je rajoute une table et là mon formulaire ne s'affiche plus.
Pouvez me dire, s'ils vous plait si ma requète avec 3 tables est bonne pour savoir si mon problème est lié avec cette requète.
Je vous remercie
$sql = "SELECT * FROM tb_gestion_admin INNER JOIN (tb_adherent ON tb_adherent.id_adherent = tb_gestion_admin.rid_adherent) INNER JOIN tb_participant ON tb_adherent.id_adherent = tb_participant.rid_adherent WHERE id_adherent = :id_adherent AND actif = 1"; $requete = $bdd->prepare($sql); $requete->execute(array( 'id_adherent' => $id_adherent ));
A voir également:
- Php jointure
- Easy php - Télécharger - Divers Web & Internet
- Expert php pinterest - Télécharger - Langages
- Retour à la ligne php ✓ - Forum PHP
- Retour a la ligne avec Echo comment faire ? - Forum Webmastering
- Alert php - Forum PHP
4 réponses
Bonjour,
1 - As tu testé ta requête en direct dans ta BDD ??
au cas où, regarde ici : https://codes-sources.commentcamarche.net/faq/10778-heidisql-tester-ses-requetes-sql
2 - A quoi servent ces parenthèses dans tes jointures ?
Essayes comme ceci :
et en utilisant des ALIAS pour le nom de tes Tables...ça devient encore plus lisible
Cordialement,
Jordane
1 - As tu testé ta requête en direct dans ta BDD ??
au cas où, regarde ici : https://codes-sources.commentcamarche.net/faq/10778-heidisql-tester-ses-requetes-sql
2 - A quoi servent ces parenthèses dans tes jointures ?
Essayes comme ceci :
$sql = "SELECT * FROM tb_gestion_admin INNER JOIN tb_adherent ON tb_adherent.id_adherent = tb_gestion_admin.rid_adherent INNER JOIN tb_participant ON tb_adherent.id_adherent = tb_participant.rid_adherent WHERE tb_gestion_admin.id_adherent = :id_adherent AND actif = 1"; $requete = $bdd->prepare($sql); $requete->execute(array('id_adherent' => $id_adherent ));
et en utilisant des ALIAS pour le nom de tes Tables...ça devient encore plus lisible
$sql = "SELECT * FROM tb_gestion_admin G INNER JOIN tb_adherent A ON A.id_adherent = G.rid_adherent INNER JOIN tb_participant P ON A.id_adherent = P.rid_adherent WHERE G.id_adherent = :id_adherent AND actif = 1"; $requete = $bdd->prepare($sql); $requete->execute(array('id_adherent' => $id_adherent ));
Cordialement,
Jordane
Bonjour
En fait mes tables sont
et avec cette requète comme je le disais n'affiche pas mon formulaire et aucun message est retourné.
En fait j'affiche le formulaire avec ce lien pour pouvoir modifier les infos des membres.
Dans ma BDD j'ai testé cette requète et elle ne fonctionne pas pourtant elle ma semble correct.
Merci de ton coup de main
En fait mes tables sont
table tb_adherent id_adherent etc...(sans interet) table tb_gestion_admin id_gestion_admin rid_adherent etc... table tb_participant id_participant rid_adherent etc...
et avec cette requète comme je le disais n'affiche pas mon formulaire et aucun message est retourné.
$sql = "SELECT * FROM tb_gestion_admin INNER JOIN tb_adherent ON tb_adherent.id_adherent = tb_gestion_admin.rid_adherent INNER JOIN tb_participant ON tb_adherent.id_adherent = tb_participant.rid_adherent WHERE id_adherent = :id_adherent AND actif = 1"; $requete = $bdd->prepare($sql); $requete->execute(array( 'id_adherent' => $id_adherent ));
En fait j'affiche le formulaire avec ce lien pour pouvoir modifier les infos des membres.
Dans ma BDD j'ai testé cette requète et elle ne fonctionne pas pourtant elle ma semble correct.
<a href="./index.php?body=modif_membre&type=admin&id_adherent=<?php echo $donnees['id_adherent'];?>"></a>
Merci de ton coup de main
Dans ma BDD j'ai testé cette requète et elle ne fonctionne pas pourtant elle ma semble correct.
Et bien si elle ne fonctionne pas dans ta BDD ... normal que ça ne t'affiche rien....
c'est donc qu'elle n'est pas bonne....
A la limite... essaye de faire des LEFT JOIN à la place des INNER
et donc.. en direct dans ta BDD .. tu peux tester :
SELECT * FROM tb_gestion_admin G LEFT JOIN tb_adherent A ON A.id_adherent = G.rid_adherent LEFT JOIN tb_participant P ON A.id_adherent = P.rid_adherent WHERE A.id_adherent = 'xxxx' AND actif = 1
bien sûr.. tu remplace les xxxx par un ID d'adhérant existant dans ta BDD