[ feroc1ty @ 28.08.2007. 00:46 ] @
Pravim neki ranking ali mi treba pomoc oko sortiranja ne znam kako da stavim da se sortira od najvise poena ka najmanje.
Dole je moj kod.Neznam gde gresim nece nikako da se sortira sa ovim kodom a meni treba da se sortira od najvise poena ka najmanje


Code:
$i = 1;
$query = 'SELECT * FROM users ORDER BY points';
$result = mysql_query($query)
 or die (mysql_error());
while ($row = mysql_fetch_array($result))
{
echo '<tr>
<td>'.$i++.'</td>
<td>'.$row["username"].'</td> 
<td>'.$row["points"].'</td>
</tr>';
mysql_free_result($result);
};
[ 3emyh @ 28.08.2007. 00:55 ] @
ORDER BY points DESC?
[ feroc1ty @ 28.08.2007. 01:46 ] @
Hvala. Radi


edit:
Mislim radilo je sad neradi redja mi da je 25 veci broj od 105 ali za brojeve manje od 100 radi savrseno.

[Ovu poruku je menjao feroc1ty dana 29.08.2007. u 03:02 GMT+1]
[ feroc1ty @ 30.08.2007. 23:51 ] @
Moze neko da pogleda skriptu i da vidi sta nije u redu.

Code:

$i = 1;
$query = 'SELECT * FROM users ORDER BY points DESC ';
$result = mysql_query($query)
 or die (mysql_error());
while ($row = mysql_fetch_array($result))
{
echo '<tr>
<td>'.$i++.'</td>
<td >'.$row["username"].'</td> 
<td >'.$row["points"].'</td>
</tr>';
};


Meni sa ovom skriptom prikazuje da brojevi veci od 100 su manji od brojeva od 100

Primer :
--|---------------------------|----------|
--|-----------Username-------|--Points--|
1-|-Zika----------------------|----25----|
2-|-Marko--------------------|----15----|
3-|-Pera----------------------|---130---|
4-|-Nemanja------------------|---105---|
6-|-Luka----------------------|----0----|
--|---------------------------|---------|

Nekoliko dana me zeza a i mozda je zbog lose Mysql baze
Budjavi hosting
[ Miroslav Ćurčić @ 31.08.2007. 00:12 ] @
Konvertuj polje 'points' u integer.

Ovako ti je lepo sortirao kao string, prvo je ispisao 'dvojke' pa 'kečeve' i na kraju 'nule'.
[ feroc1ty @ 31.08.2007. 00:26 ] @
kako to da uradim
[ dakipro @ 31.08.2007. 01:52 ] @
Procitas dokumentaciju za mysql, potrazis na google ili uzmes neki od alata tipa phpmyadmin... To bolje pitaj na mysql forumu, tamo ljudi vishe znaju mysql od php programera, a i logicnije je tamo...
[ chachka @ 31.08.2007. 06:52 ] @
Nisam siguran da li će raditi u MySQL-u, ali probaj:
Code:

SELECT * FROM users ORDER BY CAST(points AS INTEGER) DESC

Ovo bi trebalo da ispravi tip podatka onako u letu. Ipak se potrudi da i u bazi postaviš ispravan tip podataka za kolonu 'points'.
[ karas @ 31.08.2007. 07:21 ] @
Nemam MySQL kod sebe da probam, ali na Postgresu prolazi
Code:

SELECT * FROM users ORDER BY length(points) DESC, points DESC

Dakle, sortiraš prvo po dužini stringa pa onda po samom stringu.