ORDER BY ne marche pas

Résolu
Balou l'ours roux Messages postés 122 Statut Membre -  
Balou l'ours roux Messages postés 122 Statut Membre -
Bonjour,

j'ai dans ma base de données une table contenant une quantité d'article vendu, je voudrais afficher les références les plus vendus, mais lorsqu'un article est vendu 80 fois, il apparait en dessous d'un article vendu 9 fois. Mon code :
<?php

$connect = mysql_connect('localhost','root','');
mysql_select_db('fashion');
$top_query= mysql_query("SELECT * FROM stock ORDER BY Quantite_vendu DESC LIMIT 5");
$top_rows = mysql_num_rows($top_query);
while($top = mysql_fetch_array($top_query)){
echo $top['Ref'].'<br/>';
}

2 réponses

jambondardennes Messages postés 492 Statut Membre 39
 
bonjour,

la requête s'exécutant correctement je parierais sur le fait que le champs Quantite_vendu dans ta base de données n'est pas de type numérique.

De ce fait, mysql trie bien tes données mais par ordre alphabétique (9->80) et non numérique (80->9).

il faudrait vérifier dans ta table stock si le type est bien numérique INT( ... ) et non varchar(...) par exemple.

Cordialement,
1
Balou l'ours roux Messages postés 122 Statut Membre 12
 
Bonjour,

merci de cette réponse rapide! c'était effectivement ça le problème, merci beaucoup ! :)
0