Jointure multiple

Bonjour,

Je voudrais afficher une image au hasard en page d'accueil, ces images étant des documents joints aux articles. Tous les auteurs ne désirant pas que leurs images soient publiques (il y a un accès restreint, mais la page d'accueil est publique), les articles sont affectés (ou pas) d'un mot-clé "images publiques". Donc je ne veux afficher en page d'accueil que les images liées aux articles dotés du mot-clé "images publiques".

Ca implique 5 tables, il me semble : documents, documents_liens, articles, mots_liens et mots. J'y arriverais en SQL, bien que ça ne soit pas si évident que ça... Mais dans une boucle SPIP je n'y parviens pas, du fait qu'il faut (à mon avis) une seule boucle, car une seule image au hasard.

Merci à vous...

Bernard

Le 23/08/2012 16:19, BMR a écrit :

Bonjour,

Je voudrais afficher une image au hasard en page d'accueil, ces images
étant des documents joints aux articles. Tous les auteurs ne désirant
pas que leurs images soient publiques (il y a un accès restreint, mais
la page d'accueil est publique), les articles sont affectés (ou pas)
d'un mot-clé "images publiques". Donc je ne veux afficher en page
d'accueil que les images liées aux articles dotés du mot-clé "images
publiques".

Ca implique 5 tables, il me semble : documents, documents_liens,
articles, mots_liens et mots. J'y arriverais en SQL, bien que ça ne soit
pas si évident que ça... Mais dans une boucle SPIP je n'y parviens pas,
du fait qu'il faut (à mon avis) une seule boucle, car une seule image au
hasard.

Merci à vous...

Bernard

Non, tu peux avoir :
- des boucles imbriquées
  (ce qui facilite le test, et l'ecriture SQL-like)
- la restriction du nombre de résultats
   (critères {0,1} avec les tri / par hasard )
Si tu sais l'ecrire en SQL
c'est a priori facile à coder en Boucles
@+
YannX