Probleme avec ORDER BY

Résolu
cs_Rimb0 Messages postés 103 Date d'inscription dimanche 23 janvier 2005 Statut Membre Dernière intervention 3 septembre 2008 - 6 mai 2006 à 16:23
fluidblow Messages postés 10 Date d'inscription mercredi 3 mai 2006 Statut Membre Dernière intervention 6 mai 2006 - 6 mai 2006 à 17:01
Salut à tous !
Voici la "gueule" de ma table :
id site visiteurs
<!-- Results table body -->

----

1,
site.net,
25,

----

2,
site.com,
3,

----

3,
site.org,
2,

----

4,
mouhahah.com,
14

Voici ma requete :
$q=mysql_query('SELECT site, visiteurs FROM table ORDER BY visiteurs DESC LIMIT 0,10');
while ($r=mysql_fetch_row($q)){
echo $r[0]'
';
}

Jusqu'ici, tout va bien, le code est bon etc...
Sauf que le soucis, c'est qu'il affiche ça :
site.com
site.net
site.org

Pourquoi prend-il que le premier chiffre qu'il voit ou lieu de prendre tout ?
Et sinon, comment faire pour bien classer les sites en fonction des visiteurs ?

Merci d'avance.

6 réponses

cs_Rimb0 Messages postés 103 Date d'inscription dimanche 23 janvier 2005 Statut Membre Dernière intervention 3 septembre 2008
6 mai 2006 à 16:58
Je viens de trouver mon probleme, c'était tout bete...
J'avais mis pour parametres "text" à la colonne visiteurs au lieu de mettre "int".
Tout s'explique.

Merci à moi meme et à fluidblow quand meme; )
3
fluidblow Messages postés 10 Date d'inscription mercredi 3 mai 2006 Statut Membre Dernière intervention 6 mai 2006
6 mai 2006 à 16:29
<?php

$retour = mysql_query("SELECT * FROM table ORDER BY visiteurs DESC LIMIT '0,10' ");

while ($donnees = mysql_fetch_array($retour))

echo($donnees['site'];);

?>

Moi, c'est le code que j'uitlise, il fonctionne super bien, mais après, je ne c'est pas si c'est ce que tu recherche.

<!--------------------------------------------------------------------------------------->

http://fluidblow.free.fr
"He should wear a helmet because if he falls, he might break his leg."

//---------------------------------------------------------------------------------------->
0
cs_Rimb0 Messages postés 103 Date d'inscription dimanche 23 janvier 2005 Statut Membre Dernière intervention 3 septembre 2008
6 mai 2006 à 16:33
Mon code est beaucoup plus optimisé que le tien ! (les numéros sont plus rapides que les lettres...)
Le soucis est avec le ORDER BY, et non le reste ;)
Mais merci quand meme...
0
fluidblow Messages postés 10 Date d'inscription mercredi 3 mai 2006 Statut Membre Dernière intervention 6 mai 2006
6 mai 2006 à 16:46
Je te proposait juqte un code qui fonctionnait, je ne comprend pas vraiment ce qu'il à de "beaucoup plus optimisé" ?

<hr size="2" width="100%">http://fluidblow.free.fr
"He should wear a helmet because if he falls, he might break his leg."

<hr size="2" width="100%">
0

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

Posez votre question
cs_Rimb0 Messages postés 103 Date d'inscription dimanche 23 janvier 2005 Statut Membre Dernière intervention 3 septembre 2008
6 mai 2006 à 16:55
Ton code n'est pas optimisé :
- il faut utilisé les ' au lieu de " car les " sont moins rapides
- les chiffres sont plus rapides à traiter. Donc privilégie par exemple $donnes[0] à $donnes['titre'] par exemple.
- echo($donnees['site'];); => echo $donnes['site'];
- utilise un mysql_fetch_row au lieu de mysql_fetch_array

Je peux me tromper, mais c'est ce que m'ont dit des pro ! Alors je les écoute :D

Merci quand meme a toi de m'aider, mais j'ai toujours pas ma solution moi :'(
0
fluidblow Messages postés 10 Date d'inscription mercredi 3 mai 2006 Statut Membre Dernière intervention 6 mai 2006
6 mai 2006 à 17:01
<hr size="2" width="100%">http://fluidblow.free.fr
"He should wear a helmet because if he falls, he might break his leg."
<hr size="2" width="100%">
0
Rejoignez-nous