Version complète: sur le forum Webmaster Hub : Selection aléatoire RAND()
Webmaster Hub > Création et exploitation de Sites Internet > Les langages du Net > SQL
jiojio
Bonjour,
j'ai un site immobilier et sur ma page principale j'ai une selection aléatoire de mes ventes ou locations.

Mes lieux ont un et un seul type (appartement, maison, garage...) et d'une nature (vente ou location)


donc 3 tables pour cette requetes : LIEU, TYPE, NATURE

j'ai fait comme ça :


Code :

CODE
SELECT LIEU.*, TYPE.nom_type
FROM LIEU, TYPE, NATURE
WHERE LIEU.num_nature = NATURE.num_nature
AND LIEU.num_type = LIEU.num_type
ORDER BY RAND()
LIMIT 1


le probleme avec cette requete c'est que le random se fait bien mais il me le fait sur la ref du lieu mais également sur le num_type

donc je peux avoir un lieu de ref 1001 avec un type APPARTEMENT et en rafraichissant la page avoir le même lieu avec un type MAISON...

comment faire ? merci d'avance
loxi
J'avoue ne pas comprendre l'utilité du:
"AND LIEU.num_type = LIEU.num_type"
astrofiles
Cela ne sera pas beaucoup plus gourmand en terme de ressource mais décomposer en deux étapes tes requêtes devrait résoudre ton problème
Sous réserve d'avoir bien compris la finalité de tes tables ca donnerait :
1) requete aleatoire sur la table des lieux (avec le rand )
2) avec l'id du lieu récupéré par la première requete tu faits ta requete sur les 3 tables qui récupère la nature et le type .
jiojio
Merci loxi voilà pourquoi ça plantait c'est TYPE.num_type

astrofiles je l'ai fait en 2 et ça fonctionne nikel maintenant wink.gif !

merci les gars
loxi
Y a pas de quoi.
en general quand çà ne veux vraiment pas marcher, copie colle dans phpmyadmin il te donnera directement la solution.
Ceci est une version "bas débit" de notre forum. Pour voir la version complète avec plus d'information, la mise en page et les images, veuillez cliquer ici.