Pertama, harap berhenti menggunakan mysql_
berfungsi karena tidak digunakan lagi
. Lihat ke mysqli_
atau PDO
. Ketahuilah bahwa skrip Anda rentan terhadap injeksi SQL.
Alasan skrip Anda tidak berfungsi adalah karena tampaknya Anda memanggil mysql_fetch_assoc
dua kali. Saat memanggilnya untuk kedua kalinya, tidak akan ada output apa pun jika kueri Anda hanya mengembalikan satu baris.
$qry=("SELECT `rank`, `uname` FROM users WHERE `uname` = '$user'");
$result=mysql_query($qry);
$row = mysql_fetch_assoc($result);
$rank = $row['rank'];
Anda perlu mengirim ulang kueri (seperti di bawah) dan memanggil hasil itu secara terpisah untuk mengisi tarik-turun, atau menyimpan hasilnya dalam larik.
$qry=("SELECT `uname` FROM users");
$result=mysql_query($qry);
while ($row = mysql_fetch_assoc($result)) {
echo '<option>' . ucwords($row['uname']) . '</option>';
}