Autor Zpráva
curdto
Profil
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
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
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
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)

Vaše odpověď

Mohlo by se hodit


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm:

0