Liaison entre 2 tables SQL
Fermé
mixa38
Messages postés
4
Date d'inscription
mercredi 21 novembre 2007
Statut
Membre
Dernière intervention
21 novembre 2007
-
21 nov. 2007 à 10:04
ShaBoo Messages postés 392 Date d'inscription mercredi 12 septembre 2007 Statut Membre Dernière intervention 5 septembre 2009 - 21 nov. 2007 à 14:00
ShaBoo Messages postés 392 Date d'inscription mercredi 12 septembre 2007 Statut Membre Dernière intervention 5 septembre 2009 - 21 nov. 2007 à 14:00
A voir également:
- Liaison entre 2 tables SQL
- 2 comptes whatsapp - Guide
- Tables des matieres - Guide
- 2 ecran pc - Guide
- Word numéro de page 1/2 - Guide
- Jdownloader 2 - Télécharger - Téléchargement & Transfert
8 réponses
ShaBoo
Messages postés
392
Date d'inscription
mercredi 12 septembre 2007
Statut
Membre
Dernière intervention
5 septembre 2009
50
21 nov. 2007 à 10:14
21 nov. 2007 à 10:14
Bonjour,
Si la relation entre tes 2 tables est commentaires commentaires.auteur_id = membre.id, ta requete devrait ressembler à ceci :
Si la relation entre tes 2 tables est commentaires commentaires.auteur_id = membre.id, ta requete devrait ressembler à ceci :
SELECT c.id, auteur_id, date, com, prenom FROM commentaires c, membres m WHERE id_sortie LIKE '1' and c.auteur_id = m.id ORDER BY c.id ASC
ShaBoo
Messages postés
392
Date d'inscription
mercredi 12 septembre 2007
Statut
Membre
Dernière intervention
5 septembre 2009
50
21 nov. 2007 à 11:29
21 nov. 2007 à 11:29
Cette requete renvoie tt les enregistrements qui ont une correspondance entre commentaires et membre
"alors il faut faire l'équivalance avec la table membre pour retrouver le prénom de cet id ... "
VarPHP est la variable qui stockera le prenom saisi sur ta page
Si ta requete te ramene quelque chose c'est que l'utilisateur est enregistré.
Ensuite, tu recupéres l'enregistrement adequat :
Sinon tu as ceci :
Je te laisse le soin de coder en PHP, ce n'est pas trop mon fort ;p
SELECT c.id, auteur_id, date, com, prenom FROM commentaires c, membres m WHERE and c.auteur_id = m.id ORDER BY c.id ASC
"alors il faut faire l'équivalance avec la table membre pour retrouver le prénom de cet id ... "
SELECT id as VarPHP2 FROM membres WHERE prenom = VarPHP
VarPHP est la variable qui stockera le prenom saisi sur ta page
Si ta requete te ramene quelque chose c'est que l'utilisateur est enregistré.
Ensuite, tu recupéres l'enregistrement adequat :
SELECT c.id, auteur_id, date, com, prenom FROM commentaires c, membres m WHERE c.auteur_id = m.id c.auteur_id = VarPHP2 ORDER BY c.id ASC
Sinon tu as ceci :
SELECT c.id, auteur_id, date, com, prenom FROM commentaires c, membres m WHERE c.auteur_id = m.id c.auteur_id = (SELECT id FROM membre WHERE prenom = VarPHP) ORDER BY c.id ASC
Je te laisse le soin de coder en PHP, ce n'est pas trop mon fort ;p
Polux31
Messages postés
6917
Date d'inscription
mardi 25 septembre 2007
Statut
Membre
Dernière intervention
1 novembre 2016
1 204
21 nov. 2007 à 12:06
21 nov. 2007 à 12:06
Il y a deux sources possibles de recherche pour avoir les même infos: il y a soit un id, soit un nom d'utilisateur, je pense qu'un "WHERE c.auteur_id = m.id Or
c.auteur_id = (SELECT id FROM membre WHERE prenom = VarPHP)" doit le faire (vérifier que la syntaxe du "Or" en MySql).
,o)
Polux
c.auteur_id = (SELECT id FROM membre WHERE prenom = VarPHP)" doit le faire (vérifier que la syntaxe du "Or" en MySql).
,o)
Polux
ShaBoo
Messages postés
392
Date d'inscription
mercredi 12 septembre 2007
Statut
Membre
Dernière intervention
5 septembre 2009
50
21 nov. 2007 à 13:32
21 nov. 2007 à 13:32
lol ...
je sais pas pourquoi, mais j'aurais mis un AND vu que c'est une recherche par id :p
je sais pas pourquoi, mais j'aurais mis un AND vu que c'est une recherche par id :p
ShaBoo
Messages postés
392
Date d'inscription
mercredi 12 septembre 2007
Statut
Membre
Dernière intervention
5 septembre 2009
50
21 nov. 2007 à 13:34
21 nov. 2007 à 13:34
encore mieux :
;p
SELECT c.id, auteur_id, date, com, prenom FROM commentaires c, membres m WHERE c.auteur_id = (SELECT id FROM membre WHERE prenom = VarPHP) ORDER BY c.id ASC
;p
mixa38
Messages postés
4
Date d'inscription
mercredi 21 novembre 2007
Statut
Membre
Dernière intervention
21 novembre 2007
21 nov. 2007 à 10:31
21 nov. 2007 à 10:31
Merci pour ta réponse ShaBoo !
Ta requète fonctionne bien ... mais de la même manière que ma requète INNER JOIN citée ci-dessus.
C'est à dire que le résultat affiché est uniquement les lignes WHERE c.auteur_id = m.id sans les lignes WHERE id_sortie LIKE '1'.
Mais moi j'aimerais bien les 2 !
RQ = commentaires.auteur_id n'a pas forcément d'équivalence dans auteur.id
Merci pour votre aide !
Mixa !
Ta requète fonctionne bien ... mais de la même manière que ma requète INNER JOIN citée ci-dessus.
C'est à dire que le résultat affiché est uniquement les lignes WHERE c.auteur_id = m.id sans les lignes WHERE id_sortie LIKE '1'.
Mais moi j'aimerais bien les 2 !
RQ = commentaires.auteur_id n'a pas forcément d'équivalence dans auteur.id
Merci pour votre aide !
Mixa !
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
Polux31
Messages postés
6917
Date d'inscription
mardi 25 septembre 2007
Statut
Membre
Dernière intervention
1 novembre 2016
1 204
21 nov. 2007 à 10:39
21 nov. 2007 à 10:39
Bonjour,
Pourquoi utiliser LIKE ??? Avec Where c.auteur_id = m.id And id_sortie = 1, ça ne marche pas ?
;o)
polux
Pourquoi utiliser LIKE ??? Avec Where c.auteur_id = m.id And id_sortie = 1, ça ne marche pas ?
;o)
polux
ShaBoo
Messages postés
392
Date d'inscription
mercredi 12 septembre 2007
Statut
Membre
Dernière intervention
5 septembre 2009
50
21 nov. 2007 à 10:52
21 nov. 2007 à 10:52
"RQ = commentaires.auteur_id n'a pas forcément d'équivalence dans auteur.id "
Tu veux dire membres.id !!!
Je reprend ta problématique, car il y a un truc que je pige pas :
"Je souhaite afficher tout les commentaires (com) WHERE id_sortie = 1."
(merci Polux ;p)
"Les commentaires s'affichent avec un auteur, la date, et le commentaire à proprement parlé.
Evidemment, dans la table commentaires, il n'y a que auteur_id, et pas le prenom de l'auteur.
Le prénom de l'auteur est stocké dans la table membre."
"RQ = commentaires.auteur_id n'a pas forcément d'équivalence dans auteur.id"
Et c'est là que le bat blesse, car il y a de la contradiction dans ce que tu veux !!!
Tu veux dire membres.id !!!
Je reprend ta problématique, car il y a un truc que je pige pas :
"Je souhaite afficher tout les commentaires (com) WHERE id_sortie = 1."
SELECT id, auteur_id, date, com FROM commentaires WHERE id_sortie = '1'
(merci Polux ;p)
"Les commentaires s'affichent avec un auteur, la date, et le commentaire à proprement parlé.
Evidemment, dans la table commentaires, il n'y a que auteur_id, et pas le prenom de l'auteur.
Le prénom de l'auteur est stocké dans la table membre."
"RQ = commentaires.auteur_id n'a pas forcément d'équivalence dans auteur.id"
Et c'est là que le bat blesse, car il y a de la contradiction dans ce que tu veux !!!
mixa38
Messages postés
4
Date d'inscription
mercredi 21 novembre 2007
Statut
Membre
Dernière intervention
21 novembre 2007
21 nov. 2007 à 11:08
21 nov. 2007 à 11:08
En effet, je voulais dire membre.id :oops: (merci ShaBoo pour ton oeil attentif)
J'avais zappé une info, encore une fois :oops: ...
Je reprends depuis le début de ma problèmatique.
Un user peut poster un commentaire soit en étant logué, donc il a un id (il ne rentre donc pas son nom au clavier), soit sans être logué, alors il n'a pas d'id, mais un prénom classique genre toto ou tutu qu'il saisi au clavier.
Donc dans mon champ commentaires.auteur_id, il y a soit un id, soit un nom d'utilisateur.
Lors de l'affichage des commentaires, si il y a un id dans commentaires.auteur_id, alors il faut faire l'équivalance avec la table membre pour retrouver le prénom de cet id ...
... Si il y a pas d'id, donc un prénom genre toto ou tutu, on passe à la suite.
(ps=j'ai une colonne dans la table commentaire qui me permet de valider (ou pas) que la ligne vient d'un user logué ou pas)
Merci
J'avais zappé une info, encore une fois :oops: ...
Je reprends depuis le début de ma problèmatique.
Un user peut poster un commentaire soit en étant logué, donc il a un id (il ne rentre donc pas son nom au clavier), soit sans être logué, alors il n'a pas d'id, mais un prénom classique genre toto ou tutu qu'il saisi au clavier.
Donc dans mon champ commentaires.auteur_id, il y a soit un id, soit un nom d'utilisateur.
Lors de l'affichage des commentaires, si il y a un id dans commentaires.auteur_id, alors il faut faire l'équivalance avec la table membre pour retrouver le prénom de cet id ...
... Si il y a pas d'id, donc un prénom genre toto ou tutu, on passe à la suite.
(ps=j'ai une colonne dans la table commentaire qui me permet de valider (ou pas) que la ligne vient d'un user logué ou pas)
Merci
mixa38
Messages postés
4
Date d'inscription
mercredi 21 novembre 2007
Statut
Membre
Dernière intervention
21 novembre 2007
21 nov. 2007 à 12:26
21 nov. 2007 à 12:26
Comment puis-je executer ces 2 requetes distinctes dans la même boucle ?
(boucle qui me permet d'affichere TOUT les commentaires d'une sortie donnée)
Merci !
(boucle qui me permet d'affichere TOUT les commentaires d'une sortie donnée)
Merci !
ShaBoo
Messages postés
392
Date d'inscription
mercredi 12 septembre 2007
Statut
Membre
Dernière intervention
5 septembre 2009
50
21 nov. 2007 à 14:00
21 nov. 2007 à 14:00
euhhh ... c'est une autre problematique :
cette requete te donne tous les commentaires pour un id_sortie spécifique.
Mais j'ai l'impression que ce n'est pas ce que tu veux !!!
SELECT com FROM commentaires WHERE id_sortie = 'idSortieRecherché'
cette requete te donne tous les commentaires pour un id_sortie spécifique.
Mais j'ai l'impression que ce n'est pas ce que tu veux !!!