Autor | Zpráva | ||
---|---|---|---|
curdto Profil |
#1 · Zasláno: 1. 7. 2010, 09:08:00 · Upravil/a: curdto
Ahoj, pomocí níže uvedeného zdrojáku vypisuji TOP uživatele. Vše je OK, jestliže nemá nějaký uživatel více jak 100 mincí. Pokud mají uživatelé od 10 - 99 mincí, seřadí se to výborně. Jestliže má ale nějaký uživatel 100 mincí, hodí ho to na konec. Poradíte mi, prosím, co s tím? Díky!
<table border="1" cellpadding="2" cellspacing="2"> <tr><th>Pořadí</th><th>Jméno uživatele</th><th>Počet mincí</th></tr> <? $m=0; if(!$start) $vypis = mysql_query("SELECT * FROM velka_mrkovana where stav >= 10 ORDER BY stav DESC"); $pocet=mysql_num_rows(mysql_query('SELECT * FROM velka_mrkovana where stav >= 10 ORDER BY stav DESC')); while($row = mysql_fetch_array($vypis)) { $vypisleveluuzoi = mysql_query("SELECT * FROM registrace where id = '".$row['id_uzivatele']."'"); $zobrazlevelrfoi = mysql_fetch_row($vypisleveluuzoi); $m++; echo'<tr><td><center>'.$m.'.</center></td><td><center>'.$zobrazlevelrfoi[1].'</center></td><td><center>'.$row['stav'].'</center></td></tr>'; } ?> </table> |
||
Nox Profil |
#2 · Zasláno: 1. 7. 2010, 09:19:28
Nemáš to uložené jako text?
jinak $pocet - jako mysql resource přece dosaď $vypis, je nesmysl posílat znova k provedení stejný dotaz ř. 10 jde JOINem přidat k ř. 6 |
||
curdto Profil |
#3 · Zasláno: 1. 7. 2010, 09:25:09
Nox:
Tak to nejspíš mám uložené jako text. Pokud stačí přehodit v mysql z textu na číslo, díky moc za pomoc. |
||
xmark Profil |
#4 · Zasláno: 1. 7. 2010, 09:31:04
Celá ta SQL konstrukce, kdy každé jméno taháš novým selectem, je docela milá.
Nebylo by to lepší nějak takhle? if(!$start) { $qry = "SELECT jmeno, stav FROM velka_mrkovana left join registrace on registrace.id = velka_mrkovana.id_uzivatele where velka_mrkovana.stav >= 10 ORDER BY velka_mrkovana.stav DESC "; $vypis = mysql_query($qry); while($row = mysql_fetch_array($vypis)) { $m++; echo'<tr><td>'.$m.'.</td><td>'.$row['jmeno'].'</td><td>'.$row['stav'].'</td></tr>'; } } (netestuju, může tam být překlep) |
||
Časová prodleva: 14 let
|
0