|
Publicité ' | |||||||||||||||||||||||
|
|
#1 | ||
|
Invité de passage
![]() Inscription : décembre 2010 Messages : 12 ![]() |
Bonsoir,
Comment terminer cette requête qui doit : - Séléctionner certains champs de la table cms_0agree, qui contient mes données - quand la valeur du champs cms_0agree.email = valeur du champs cms_feusers_users.username correspondant à l'id de l'utilisateur connecté sur la page qui appelle le script, soit cms_feusers_loggedin.userid - afficher le résultat. Donc une requête sur trois tables de la même base de données : Code :
Merci de votre aide |
||
|
|
00
|
|
|
#2 |
|
Membre confirmé
![]() Inscription : juillet 2011 Messages : 146 ![]() |
Hum ce qui se comprends bien s'énonce bien
Ton explication des données que tu veux récupérer n'est pas très très claire. Mais a priori tu veut des données venant de ta table cms_0agree, donc pour plus de lisibilité je te conseille de partir de cette table et faire tes jointure dessus. Ensuite tu rajoute des filtres mais qui d'après ton explication seront a base de IS NOT NULL par exemple ce qui n'est pas parfait. Sinon tu as la solution du select from cms_0agree where a.email in ( select ....) pour recupérer les emails qui t'intéresse. Mais dur de plus t'aider sans une explication plus précise |
|
00
|
|
|
#3 | |||
|
Invité de passage
![]() Inscription : décembre 2010 Messages : 12 ![]() |
Merci de ton début de réponse !
Citation:
- 1 Afficher les données d'état civil de la personne connectée, identifiée par son adresse email - 2 Afficher un formulaire où la personne saisie des compléments d'informations envoyées dans une table dédiée avec la méthode POST (cette partie est résolue). La structure de la base : 1 table feusers_loggedin stocké l'identification de session de la personne connectée, notamment dans le champs userid(= un nombre de 3 chiffres) 2 table feusers_users stocke les informations des utilisateurs, champs id = le nombre à 3 chiffres qui relie ces deux tables + username = identifiant de connexion (sous forme email) 3 table 0agree qui stocke les détails de chaque utilisateur, le champs servant à relier l'ensemble ! Donc, je remts le code de la requête : Code :
|
|||
|
|
00
|
|
|
#4 |
|
Membre confirmé
![]() Inscription : juillet 2011 Messages : 146 ![]() |
C'est un peu plus clair
J'avoue que faire une jointure entre un champs username et un champ email c'est pas des plus logique pour suivre. A mon avis dans ton code il manque quand même un truc, comment gères tu le cas ou 2 personnes sont logguée sur ton site et font la même manipulation ? Ton userid devrait être stocké en session après l'authentification pour ensuite ne rechercher que les lignes correspondant a cet user id non ? |
|
00
|
|
|
#5 | |
|
Invité de passage
![]() Inscription : décembre 2010 Messages : 12 ![]() |
Ok, merci...
Citation:
- 2 La table feusers_loggedin contiens un champs qui stocke la variable de session créée quand la personne se connecte - 3 Ce qui me permets de filtrer le bon utilisateur ! (mais jen'ai pas intégré cela dans la requête, pour simplifier ! As-tu une piste de solution pour rendre mon code fonctionnel ? |
|
|
|
00
|
|
|
#6 | ||
|
Invité de passage
![]() Inscription : décembre 2010 Messages : 12 ![]() |
Bonjour,
Ce matin, j'ai trouvé sur un fil de ce forum LA méthode pour trouver les causes d'erreur d'une requête : un copier/coller dans la fenêtre SQL de PhpMyAdmin ... + exécuter la requête directement dans la base ... => SQL donne des informations très détaillées sur les causes d'erreur ... ! Merci à m4riachi et Anthony89 de ce forum, et à toi Tolriq ! Mon erreur ? A force de chercher à optimiser chaque fois un peu plus le code ..., j'ai fait un"raccourci"de trop ... et il manquait un mot à la désignation de deux tables ! Donc, j'avais le bon code dès le début, soit : Code :
Bonne journée à chacun(e). |
||
|
|
00
|
Copyright © 2000-2012 - www.developpez.com