SQL/PHP simple... mais je réussis pas...

Résolu
Jean_2 Messages postés 245 Date d'inscription   Statut Membre Dernière intervention   -  
Jean_2 Messages postés 245 Date d'inscription   Statut Membre Dernière intervention   -
Hello.

J'ai un ptit problème simple. Je voudrai afficher dans un array le contenu d'une requete faisant appel à 2 tables (une table s'appelle principale, l'autre commentaire).

Structure :
table principale : id_ma_variable, ma_variable, ptite_info_1, ptite_info_2...
table commentaire : id_mon_commentaire, utilisateur, contenu, ma_variable, note...

logique : dans la table commentaire, chaque utilisateur peut commenter la variable de la table principale.

ma requête : dans mon array, je veux faire afficher ma table principale, et la note moyenne accordée à ma_variable.

et je réussi pas à mettre ça dans un même array.
Par ailleurs, j'ai assayé de passer outre en ajoutant un champ avg(note) dans ma table principale mais j'ai pas réussi...


Vous pouvez m'aider svp ou je suis pas clair ???

Merki
A voir également:

8 réponses

kij_82 Messages postés 4089 Date d'inscription   Statut Contributeur Dernière intervention   857
 
Bonjour,

C'est la partie technique PHP que tu n'arrive pas à gérer ou la partie SQL (mise en forme de la requête) ?
0
Jean_2 Messages postés 245 Date d'inscription   Statut Membre Dernière intervention   12
 
c'est SQL (ça fait longtemps que j'ai pas fait ça lol)
0
Jean_2
 
c'est SQL (ça fait longtemps que j'ai pas fait ça lol)
0
Jean_2 Messages postés 245 Date d'inscription   Statut Membre Dernière intervention   12
 
Personne pour m'aider ???

je vais réexpiquer le pb autrement:

Je veux faire afficher ma requete SQL par un code PHP. C'est la requete sql qui pose pb.

Structure :
table principale (id_principal, principal, d'autres champs...).
table commentaire (id_comm, comm , utilisateur, principal, note...), CHAQUE utilisateur peut donc commenter CHAQUE principal et lui donner une note.
Dans ma table commentaire, je n'ai pas tous les "principal", car ils sont saisis par appel à une liste déroulante

Objectif : afficher ma table principale et la note MOYENNE attribuée à chaque "principal".
PB : en faisant une jointure entre les 2 tables, forcément, je n'ai que la note moyenne pour les "principal" qui ont reçu une note.

Ce que je veux afficher :

Principal1 18
Principal2 un texte pour dire "pas de note" <----- (le code que j'ai fait n'affiche pas quand je n'ai pas de note.)
Principal3 12

... pour tous les "principal" de ma table principale. Le 1er champ vient de ma table principale, le 2eme de ma table commentaire

Alors, vous en pensez quoi ?
Est-ce que déjà c'est possible ? Ou ma structure est à changer ?
Si oui comment ?

Please help me (milla jojovich, dans le 5eme élément)

MERCI pour toute contribution
0
piére
 
salut jeans en ce qui concerne ton probleme il faudrai crée une autre table intermédiére, en fait cette table va contenir id_principal et id_commantaire dans ce cas la tu vas travailler avec les trois table sur ta requête SQL.

                
0
Jean_2
 
merci pière

avant que je m'y mettes

tu me confirmes que cette 3eme table ne contient que id_principal et id_commantaire ?

ou doit-elle contenir mes autres champs ?
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
kij_82 Messages postés 4089 Date d'inscription   Statut Contributeur Dernière intervention   857
 
Ca dépends de tes regles de gestion, par exemple si tu veux gérer une date. Mais sinon tu met juste des deux identifiants de maniere à pouvoir lier les bases ensemble.
0
Jean_2 Messages postés 245 Date d'inscription   Statut Membre Dernière intervention   12
 
ok ben je vais essayer, je tiens au courant d'ici 2-3 jours
merci à vous
0
Jean_2 Messages postés 245 Date d'inscription   Statut Membre Dernière intervention   12
 
J'ai réussi !!!!!!!!!!!!!!!!!!!!
Et sans nouvelle table !!!!!!!!!!!!!!!!

J'ai fait une jointure externe :


SELECT principale.principal, AVG(note) note_moyenne
FROM principale LEFT OUTER JOIN commentaire
ON commentaire.principal=principale.principa
GROUP BY principale.principal

ça me renvoit qqchose de ce type : (vous remplacerez les numéros de tel par le moyenne pour chaque champ...

LI_NOM TEL_NUMERO
------- --------------
DUPONT 01-44-28-52-50
DUPONT 05-59-45-72-42
MARTIN 01-47-66-29-55
BOUVIER NULL
DUBOIS 04-66-62-95-64
DREYFUS 04-92-19-18-58
FAURE NULL
LACOMBE NULL
DUHAMEL 01-54-11-43-89
DUHAMEL 01-55-60-93-8
0
Jean_2 Messages postés 245 Date d'inscription   Statut Membre Dernière intervention   12
 
et bien sur, pas de Doublon au niveau des noms dans la colonne de gauche... (dsl je viens de voir ça dans mon comm précédent)
0