Requète SELECT avec jointure
Résolu/Fermé
papyclic
Messages postés
446
Date d'inscription
mercredi 5 novembre 2014
Statut
Membre
Dernière intervention
18 octobre 2016
-
Modifié par jordane45 le 24/03/2015 à 20:28
papyclic Messages postés 446 Date d'inscription mercredi 5 novembre 2014 Statut Membre Dernière intervention 18 octobre 2016 - 25 mars 2015 à 20:06
papyclic Messages postés 446 Date d'inscription mercredi 5 novembre 2014 Statut Membre Dernière intervention 18 octobre 2016 - 25 mars 2015 à 20:06
A voir également:
- Php jointure
- Easy php - Télécharger - Divers Web & Internet
- Php?id=1 - Forum PHP
- Php if plusieurs conditions ✓ - Forum PHP
- Delete avec jointure ✓ - Forum Bases de données
- Br php ✓ - Forum PHP
4 réponses
jordane45
Messages postés
38326
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
2 décembre 2024
4 712
Modifié par jordane45 le 24/03/2015 à 20:33
Modifié par jordane45 le 24/03/2015 à 20:33
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
papyclic
Messages postés
446
Date d'inscription
mercredi 5 novembre 2014
Statut
Membre
Dernière intervention
18 octobre 2016
3
24 mars 2015 à 23:00
24 mars 2015 à 23:00
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
jordane45
Messages postés
38326
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
2 décembre 2024
4 712
24 mars 2015 à 23:06
24 mars 2015 à 23:06
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
papyclic
Messages postés
446
Date d'inscription
mercredi 5 novembre 2014
Statut
Membre
Dernière intervention
18 octobre 2016
3
24 mars 2015 à 23:19
24 mars 2015 à 23:19
SUPER génial ça marche tu peux me donner une explication entre LEFT et INNER s'il te plait.
Merci encore
Merci encore
jordane45
Messages postés
38326
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
2 décembre 2024
4 712
24 mars 2015 à 23:52
24 mars 2015 à 23:52
https://www.commentcamarche.net/faq/34631-mysql-quelle-jointure-choisir
papyclic
Messages postés
446
Date d'inscription
mercredi 5 novembre 2014
Statut
Membre
Dernière intervention
18 octobre 2016
3
25 mars 2015 à 20:06
25 mars 2015 à 20:06
Merci pour tout