ORDER BY ne marche pas

Résolu
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

  1. 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. Bonjour,

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