Classement à partir de 2 champs

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

7 réponses

  1. pourquoi deux requettes ?

    SELECT * FROM villes,meteo ORDER BY temperature DESC LIMIT 0,50" 
    0
    1. merci alain_42 pour ton aide mais ça ne fonctionne pas.
      0
  2. Le champs température est-il un champs "integer" ?

    Peux-tu nous montrer un enregistrement de la table meteo ?
    0
    1. 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
      1. "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
        1. merci Alain_42, il y a visiblement un problème qui perciste et voici le message: Unknown column 'meteo.temperature' in 'order clause'
          0
          1. a pardon c'est

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

              merci quand même
              0