ORDER BY ne marche pas

Résolu
Balou l'ours roux Messages postés 86 Date d'inscription   Statut Membre Dernière intervention   -  
Balou l'ours roux Messages postés 86 Date d'inscription   Statut Membre Dernière intervention   -
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 482 Date d'inscription   Statut Membre Dernière intervention   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 86 Date d'inscription   Statut Membre Dernière intervention   12
 
Bonjour,

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