Requete balaise

eax Messages postés 728 Date d'inscription jeudi 20 juin 2002 Statut Membre Dernière intervention 7 novembre 2007 - 9 août 2003 à 01:44
longshot41 Messages postés 17 Date d'inscription lundi 28 février 2005 Statut Membre Dernière intervention 14 janvier 2021 - 22 avril 2009 à 17:18
salut

g un pb avec une requete mysql qui affiche les champs d'une table A (table des photos) et d'une table B (table des comentaires),
je veux afficher chaque champ de A avec sa correspondance dans B, jusqu'à la c pas dur lol
mais quand y'a pas de commentaire dans B, ça me vire la ligne dans A, en gros la photo n'est pas visible si elle n'a pas eu de comenaires c pas top
mais je vias plutot balancer la requete avec un max de commentaires ce sera ptet + compréhensible:

SELECT * //g tout viré pour pas alourdir le code

FROM l4l_photos, l4l_votes //les 2 tables en question

WHERE l4l_photos.id_user = '1' //sélection d'un seul user

AND l4l_photos.id = l4l_votes.id_img //la relation entre les 2 tables (les champs sont égaux dans les 2 tables)

GROUP BY l4l_photos.id //ça c juste pk je sélectionne un count()

voilà le reste on sen fout (order by et cie)

en fait pour voir ttes mes lignes, faut que je vire la relation (4e ligne du code ci dessus), mais la mes champs sélectionnés dans le select vont pas aller et là c le drame lol

il faudrait pouvoir mettre un truc du genre
if exist des commetaires alors prendre en compte la liaison dans le where mais là je suis larqué

je vais me la jouer leeloo dans le 5éme élément:
PLEAAASE HELP ME

merci bcp

:big) Sylvain [[mailto:bitsenfolie@free.fr email]] [web]

11 réponses

cs_Tortuegeniale Messages postés 1123 Date d'inscription lundi 7 janvier 2002 Statut Membre Dernière intervention 26 juin 2008
9 août 2003 à 12:13
Salut

pk tu fais pas 2 requetes ?

tu selectionnes la photo et ensuite tu selectionnes le commentaire en rapport avec l'id de la photo

ensuite si mysql_num_rows(du nombre de commentaire) == 0 alors pas d'affichage

++

------
Je cherche un poste de developpeur PHP mysql, si vous avez une proposition ou si vous voulez mon CV ==> [mailto:tortue.geniale@laposte.net mailto:tortue.geniale@laposte.net]

=> http://www.kame-house.org La plus grosse base de données de DA du net
0
eax Messages postés 728 Date d'inscription jeudi 20 juin 2002 Statut Membre Dernière intervention 7 novembre 2007 2
9 août 2003 à 13:12
salut

en fait je peux pas utiliser 2 requetes sinon c clair que ce serait tout simple car je trie les photos en fonction de la note donnée dans la table des commentaires :)

merci qd ^m

:big) Sylvain [["mailto:bitsenfolie@free.fr" email]] [["http://bitsenfolie.free.fr/index.php?orig=6" web]]
0
cs_Tortuegeniale Messages postés 1123 Date d'inscription lundi 7 janvier 2002 Statut Membre Dernière intervention 26 juin 2008
9 août 2003 à 13:32
Bah si moi je pense que tu peux en faite lol

tu ressors tout et ensuite tu met tout dans un tableau que tu tri

moi jep ense que ça marcherai bien ça, les tableau c chiant mais kan on maitrise c bien lol

------
Je cherche un poste de developpeur PHP mysql, si vous avez une proposition ou si vous voulez mon CV ==> [mailto:tortue.geniale@laposte.net mailto:tortue.geniale@laposte.net]

=> http://www.kame-house.org La plus grosse base de données de DA du net
0
Magicking Messages postés 195 Date d'inscription vendredi 13 octobre 2000 Statut Membre Dernière intervention 8 juillet 2004
10 août 2003 à 01:43
essaye des truc dans le genre "OR l4l_photos.id=l4l_photos.id" ave un peu de chance sa marchera :)
0

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

Posez votre question
eax Messages postés 728 Date d'inscription jeudi 20 juin 2002 Statut Membre Dernière intervention 7 novembre 2007 2
10 août 2003 à 08:42
snifffff déjà testé mais ça marche pas car il faudrait tester si il existe au moins une ligne avant de balancer le or

:big) Sylvain [[mailto:bitsenfolie@free.fr email]] [web]
0
Magicking Messages postés 195 Date d'inscription vendredi 13 octobre 2000 Statut Membre Dernière intervention 8 juillet 2004
10 août 2003 à 08:49
Erf tu pôurrais mettre ton script ?
sa serait plus facile pour voir comment faire
0
eax Messages postés 728 Date d'inscription jeudi 20 juin 2002 Statut Membre Dernière intervention 7 novembre 2007 2
10 août 2003 à 12:05
ben en fait y'a pas de script particulier c juste le résultat d'une requete que je veux afficher ds un tableau

voici le schéma des 2 tables:

CREATE TABLE `l4l_photos` ( //table qui contient les photos uploadées
`id` int(10) NOT NULL auto_increment, //id de la photo
`id_user` int(10) NOT NULL default '0', //id de son proprietaire
`fichier` text NOT NULL, //nom du fichier
`description` varchar(255) default NULL, //description rapide
`date` datetime NOT NULL default '0000-00-00 00:00:00', //date de l'upload
UNIQUE KEY `id` (`id`)
)

et

CREATE TABLE `l4l_votes` ( //tous les commentaires déposés par les visiteurs sur chq foto
`id` int(10) NOT NULL auto_increment, //id du comment
`id_img` int(10) NOT NULL default '0', //id de l'img concernée (champ lié avec l4l_photos.id)
`id_user` int(10) NOT NULL default '0', //id du mec qui a noté la foto
`id_cible` int(10) NOT NULL default '0', //id duproprio de la foto
`note` int(2) NOT NULL default '0', //note donnée
`date` datetime NOT NULL default '0000-00-00 00:00:00', //date
`commentaires` varchar(255) NOT NULL default '', //commentaires
UNIQUE KEY `id` (`id`)
)

SELECT * FROM l4l_photos,l4l_votes //je veux afficher une liste de photos
WHERE l4l_photos.id_user='1' //qui appartiennent à un mec précis
AND l4l_photos.id=l4l_votes.id_img //gestion du lien

mais y'a que les photos qui ont une note qui apparaissent : c normal g mis un lien alors je voudrais tester si elles ont une note avant d'inclure le lien, le + simple est de faire 2 requetes, mais j'utilise les fonctions de tri order by sur tout les champs (suivant le choix de l'utilisateur, tri par date, note, pseudo, ...) alors jsuis obligé de tt mettre ds la meme requete

:big) Sylvain [[mailto:bitsenfolie@free.fr email]]
0
Magicking Messages postés 195 Date d'inscription vendredi 13 octobre 2000 Statut Membre Dernière intervention 8 juillet 2004
10 août 2003 à 12:57
Ben en faite je te conseil sois de faire 2 requete(comme Tortue Genial) sois d'aller voir sur des forum mysql(sa doit bien exister)
Car même une requete de base comme
SELECT * FROM l4l_photos,l4l_votes
ne marche pas si l'un des deux est vide
0
eax Messages postés 728 Date d'inscription jeudi 20 juin 2002 Statut Membre Dernière intervention 7 novembre 2007 2
10 août 2003 à 18:12
jvais essayer

:big) Sylvain [[mailto:bitsenfolie@free.fr email]]
0
longshot41 Messages postés 17 Date d'inscription lundi 28 février 2005 Statut Membre Dernière intervention 14 janvier 2021
22 avril 2009 à 17:16
Je ne comprends pas, tu as 2 tables, donc c'est un join left que tu dois utiliser.

SELECT * FROM l4l_votes LEFT JOIN l4l_photo ON (FROM l4l_votes.id_user l4l_photos.id)WHERE l4l_votes.id_user '1'
0
longshot41 Messages postés 17 Date d'inscription lundi 28 février 2005 Statut Membre Dernière intervention 14 janvier 2021
22 avril 2009 à 17:18
Arg j'ai pas vu la date 2003 pt..ngg
0
Rejoignez-nous