Où est l'erreur SVP?

Résolu
yaya -  
nirG95 Messages postés 292 Date d'inscription   Statut Membre Dernière intervention   -
Bonjour,

Je suis assez novice dans la programmation PHP et je suis bloqué sur le script suivant, il y a une erreur mais je ne trouve pas la solution:

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

7 réponses

Xav
 
Bonjour,

je pense que l'erreur vient de la variable. Essai de faire :

$sql2 = mysql_query("SELECT * FROM meteo WHERE id_ville = " . $webcamville['id_ville2'] . " ORDER BY temperature DESC LIMIT 0,50" ) or die(mysql_error()); 


Cdlt
0
Defouille Messages postés 388 Date d'inscription   Statut Membre Dernière intervention   54
 
Essaye :
die($sql2)

après que tu forges ta chaine, pour voir si c'est bien ce que tu veux.
0
yaya
 
Merci Xav!

Réponse super rapide en plus!
Il n'y a plus d'erreur de syntaxe même si ça ne fait pas ce que je voudrais que ça fasse, je m'explique:
avec cette requête, je voudrais que le programme affiche les 50 webcams de ma bbd où la température externe est la plus haute, par ordre décroissant.
Là, il m'affiche 50 webcams aléatoirement
0
Defouille Messages postés 388 Date d'inscription   Statut Membre Dernière intervention   54
 
As-tu essayé ta requête sur le gestionnaire de base (phpmyadmin ou autre) ?
0

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

Posez votre question
yaya
 
oui Defouille mais Xav a bien répondu à ma demande, il fallait mettre des espace au niveau de la variable pour que ça marche je pense.
0
yaya
 
En fait Xav, il n'y a plus d'erreur de syntaxe, malgrès tout le ORDER BY temperature DESC LIMIT 0,50 n'est pas pris en compte
0
nirG95 Messages postés 292 Date d'inscription   Statut Membre Dernière intervention   32
 
Oulà, niveaux requete je n'ai jamais été très fort ! Mais logiquement (pour moi lol) la requete est bonne.Directement dans phpmyadmin quand tu fais la requete

SELECT * FROM meteo order by temperature desc

Es-ce que ça tri bien ?

Mais sinon post un autre message quelqu'un de plus compétent pourras te répondre :p

Cdlt.
0
nirG95 Messages postés 292 Date d'inscription   Statut Membre Dernière intervention   32
 
ps : tu as quoi comme données dans ton champ temperature ?

39 ou 39° (numerique ou txt)

cdlt.
0
nirG95 Messages postés 292 Date d'inscription   Statut Membre Dernière intervention   32
 
Car si tu es en varchar :

$sql2 = mysql_query("SELECT * FROM meteo WHERE id_ville = " . $webcamville['id_ville2'] . " ORDER BY temperature *1 DESC LIMIT 0,50" ) or die(mysql_error()); 


*1 force la transformation en nombre

Sinon faut passer ton champ en INT

Cdlt.
0
yaya
 
merci Xav,

alors oui ça tri bien, oui c'est en "integer" et non ça ne marche pas.
0
nirG95 Messages postés 292 Date d'inscription   Statut Membre Dernière intervention   32
 
peut tu me mettre les champs de ta table avec un exemple pour que je puisse faire un essai ? :)

Cdlt.
0
nirG95 Messages postés 292 Date d'inscription   Statut Membre Dernière intervention   32
 
De rien, bonne continuation.

Xav
0