Aller au contenu

Requête sur 3 tables


jokerman

Sujets conseillés

Bonjour à tous, je vous soumet mon probleme du jour :)

j'ai 4 tables mysql :

----------------
user
----------------
id_user

----------------
category
----------------
id_category
id_user

----------------
albums
----------------
id_album
id_category

----------------
photos
----------------
id_photo
id_album

1/ je dois faire une requête afin de vérifier si un user possede des photos, en verifiant toute la chaine category/albums/photos

2/ je dois faire une requête afin de vérifier si un user possede des albums, en verifiant toute la chaine category/albums

2/ je dois faire une requête afin de vérifier si un user possede des category

quel est le moyen le plus simple d'effectuer cette requête ?

Merci de votre aide, et bonnes fetes à tous !

Lien vers le commentaire
Partager sur d’autres sites

je vais detailler ma question un petit peu : je cherche a savoir si le user '$id' possede des photos dans la table "photos"

le probleme est que l'id du user n'est pas stocké dan la table "photos"

l'id est stocké dans une table "category" (les catégories de photos)

ensuite, l'id de la categorie est stocké dans une table "albums", et enfin, les photos sont dans la table "photos" ou est stocké l'id de l'album.

la requete :

$sql = "SELECT category.id_category,albums.id_album,photos.id_photo LEFT JOIN albums.id_category, photos.id_album WHERE category.id_user= '$id'";

ne donne rien (le serveur du client n'affiche pas les erreurs).

jokerman

Lien vers le commentaire
Partager sur d’autres sites

Bonsoir,

le premier point est qu'il manque le FROM à ta requète.

Le plus simple me semblerait être une requète de la forme :

select * from user,categorie,album,photo where user.id_user=categorie.id_user and categorie.idcategorie=album.idcategorie and album.idalbum=photo.idalbum

Lien vers le commentaire
Partager sur d’autres sites

Bonsoir, je te remercie pour ta réponse, j'ai essayé, ça ne marche pas.

en fait ,

1/ je dois verifier si le user ID possede des photos (au moins 1)

si il a des photos -> true

sinon,

2/ je dois verifier si il a un album (au moins 1)

si il a un album -> true

sinon,

3/ je dois verifier si il a une categorie (au moins 1)

si il a une categorie -> true

sinon -> false

je dois en fait rechercher si l'utilisateur n'a ni photos, ni albums, ni catégories, est-ce plus clair comme cela ?

Lien vers le commentaire
Partager sur d’autres sites

Dans la requete suivante, si id_category, id_album et id_photo sont null c'est qu'il n'a rien

SELECT u.id_user, c.id_category, a.id_album, p.id_photo
FROM user AS u
LEFT JOIN category AS c ON c.id_user = u.id_user
LEFT JOIN albums AS a ON a.id_category = c.id_category
LEFT JOIN photos AS p ON p.id_album = a.id_album
WHERE u.id_user = ...

Sinon, tu peux aussi te baser sur la catégorie simplement, car s'il a une catégorie c'est qu'il a au moins un album dedans, non ? s'il a au moins un album c'est qu'il a au moins une photo dedans, non ?

Modifié par Findel
Lien vers le commentaire
Partager sur d’autres sites

Veuillez vous connecter pour commenter

Vous pourrez laisser un commentaire après vous êtes connecté.



Connectez-vous maintenant
×
×
  • Créer...