Nejprve prosím přestaňte používat mysql_
funkce, protože jsou zastarávány
. Podívejte se do mysqli_
nebo PDO
. Uvědomte si, že váš skript je zranitelný vůči SQL injection.
Důvod, proč váš skript nefunguje, je ten, že se zdá, že voláte mysql_fetch_assoc
dvakrát. Když jej zavoláte podruhé, nebude žádný výstup, pokud váš dotaz vrátí pouze jeden řádek.
$qry=("SELECT `rank`, `uname` FROM users WHERE `uname` = '$user'");
$result=mysql_query($qry);
$row = mysql_fetch_assoc($result);
$rank = $row['rank'];
Budete muset znovu odeslat dotaz (něco jako níže) a zavolat tento výsledek samostatně, aby se naplnil rozbalovací seznam, nebo uložit výsledek do pole.
$qry=("SELECT `uname` FROM users");
$result=mysql_query($qry);
while ($row = mysql_fetch_assoc($result)) {
echo '<option>' . ucwords($row['uname']) . '</option>';
}