Classement à partir de 2 champs

yaya -  
 yaya -
Bonjour,

A partir d'une base de données de webcams (villes) et d'une autre de météo (meteo), je voudrais classer les webcams en fonction de la température qu'il fait où elles sont installées.
Le script suivant n'indique pas d'erreur mais choisie ne classe pas les cams comme je le désire:

$sql = mysql_query("SELECT * FROM villes WHERE permcam = 1 " ) or die(mysql_error());
while($webcamville = mysql_fetch_array($sql))
{

$id_v = $webcamville['id_ville2'];

$sql2 = mysql_query("SELECT * FROM meteo WHERE id_ville = " . $id_v . " ORDER BY temperature DESC LIMIT 0,50" ) or die(mysql_error());
$data2 = mysql_fetch_array($sql2);

merci
A voir également:

7 réponses

Alain_42 Messages postés 5413 Statut Membre 894
 
pourquoi deux requettes ?

SELECT * FROM villes,meteo ORDER BY temperature DESC LIMIT 0,50" 
0
yaya
 
merci alain_42 pour ton aide mais ça ne fonctionne pas.
0
Defouille Messages postés 404 Statut Membre 54
 
Le champs température est-il un champs "integer" ?

Peux-tu nous montrer un enregistrement de la table meteo ?
0
yaya
 
merci pour l'aide Defouille,

le champs temperature est en effet "integer".
En fait tout fonctionne parfaitement sauf le classement par ordre décroissant de température et la limite de 50 webcams.
Il y a une table "villes" dans laquelle je vais chercher l'id des villes qui ont une webcam (permcam = 1), ensuite dans la table "meteo" où il me sort bien la météo des villes possédant une webcam mais ne classe rien et ne limite rien.

l'erreur vient de quelque part par là je pense "SELECT * FROM meteo WHERE id_ville = " . $id_v . " ORDER BY temperature DESC LIMIT 0,50"
mais je n'en suis pas sûr.
0
Alain_42 Messages postés 5413 Statut Membre 894
 
"SELECT v.id_ville as id_v, m.temperature as temp FROM villes v,meteo m WHERE v.permcam = 1 ORDER BY meteo.temperature DESC LIMIT 0,50"

ou
"SELECT v.id_ville as id_v, m.temperature as temp FROM villes v,meteo m WHERE v.permcam = '1' ORDER BY meteo.temperature DESC LIMIT 0,50"


et tes donnees extraites seront:

$donnees['id_v']
$donnees['temp']
0

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

Posez votre question
yaya
 
merci Alain_42, il y a visiblement un problème qui perciste et voici le message: Unknown column 'meteo.temperature' in 'order clause'
0
Alain_42 Messages postés 5413 Statut Membre 894
 
a pardon c'est

ORDER BY temp DESC LIMIT 0,50"
0
yaya
 
non ca met temps temps fou à charger, je pense que ça bug...

merci quand même
0