[MySQL] Multi tables

Répondre
celionor
le 04/02/2005 à 22:20
celionor
Bonjour,

J'ai un petit probleme dans ma requete.
J'ai deux table avec d'un coté la liste des membres (table: meet_membre), et de l'autres, la liste des photos de ces membres (table : meet_photos).
Il est donc possible qu'un membre ait plusieurs photos.

Voici ma requete :
<?php 

$sql = mysql_query("SELECT meet_membre.pseudo, meet_membre.id
FROM meet_membre, meet_photos
WHERE meet_membre.photo = 1 AND meet_membre.id = meet_photos.identifiant
ORDER BY meet_membre.inscription DESC
LIMIT 5");

?>


Le code marche, mais j'aimerai qu'il ne m'affiche que les derniers membres, et non pas les dernières photos.

Car dans ma requete, voici ce qu'il affiche:
pseudo1, pseudo1, pseudo1, pseudo2, pseudo1
Et j'aimerai qu'il m'affiche:
pseudo1, pseudo2, pseudo3, pseudo4, pseudo5

En esperant avoir compris que je ce souhaitais.
Merci
LA GLOBULE
le 05/02/2005 à 12:05
LA GLOBULE
Vu que tu ne selectionnes que le pseudo du membre et son id, pourquoi places tu la table meet_photos dans le FROM et que tu fais une condition dessus dans le WHERE (jointure) ?
celionor
le 05/02/2005 à 22:07
celionor
Salut,

En fait, j'avais oublié un petit bout dans ma requete. Je selectionne également le champ "photos" (soit meet_photos.photos) dans la table "meet_photos".

Je ne vois pas trop comment faire.
keitarosan
le 05/02/2005 à 23:39
keitarosan
<?php

$sql = mysql_query("
SELECT
meet_membre.pseudo,
meet_membre.id,
meet_photos.photo

FROM
meet_membre,
meet_photos

WHERE
meet_membre.photo = 1 AND
meet_membre.id = meet_photos.identifiant

GROUP BY
meet_membre.id

ORDER BY
meet_membre.inscription DESC

LIMIT 5
");

?>


Voila, je pense que ca va résoudre tes probleme.
Enfin si ton probleme est que tu as plusieurs photo pour un membre, ca va le regler (j'ai tester pour toi ^^)

Sinon, bah c'est qu'il faut que tu explique un peu plus.

Et surtout, n'hesite pas a mettre ton code comme je l'ai fait, ca n'empeche en aucun cas le fonctionnement, et c'est plus facile a lire, plus facile a debuguer en cas de soucis ;)

et plus facil pour la comprehension ^^

vala :)
>> http://projectopensource.free.fr/index.php?m=2&m2=5&s=8 <<
celionor
le 06/02/2005 à 00:25
celionor
> keitarosan
Ca c'est de la réponse !

Ca marche a la perfection. Je ne connaissais pas la fonction MySQL "GROUP BY".

Merci beaucoup !!
keitarosan
le 06/02/2005 à 00:43
keitarosan
de rien...

c'est toujours un plaisir d'aider les personnes qui en ont besoin :)
>> http://projectopensource.free.fr/index.php?m=2&m2=5&s=8 <<
bibi
le 06/02/2005 à 00:52
bibi
keitaro
A l'iut, on a eu des cours de sql, et j'étais persuadé qu'un attribut qui est dans le select doit etre dans le group by

ptet ke g craké
commit suicide
keitarosan
le 06/02/2005 à 01:00
keitarosan
ouep, mais mysql n'est pas aussi exigent ^^
tu peux donc limiter au champ qui t'interesse...

mais il est vrai qu'en toute rigueur, il faudrait tous les mettre...

Merci pour ta remarque, car moi j'ai arreter les cours de mon iut en cours de premiere année, c'etait trop chiant, lol...

Donc ayant apris tout seul, je manque un peu de rigueur ;)
>> http://projectopensource.free.fr/index.php?m=2&m2=5&s=8 <<
Répondre

Ecrire un message

Votre message vient d'être créé avec succès.
LoadingChargement en cours