2012-05-23 2 views
2

Привет, я пытаюсь заполнить массив индексами, такими как 'user1' и 'score1', чтобы вернуться к функции.Заполнение массива из цикла while для возврата PHP

Мой код: Он поставляется с unindentified переменных ошибок

$query = 'select * from users order by score desc'; 
$result = mysql_query($query) or die (mysql_error()); 
$highscore = array(); 
$count = '0'; 

while($row = mysql_fetch_array($result)) 
{ 
    $count++;   
    $highscore = array('user' . $count => $row['username'], 'score' . $count => $row['score']); 
} 

return $highscore; 

ответ

2

Вы должны использовать числовые значения, когда вы хотите использовать их .. Вы использовали струнный представление нулевой ('0')

$count = 0; 
$highscore = array(); 
while($row = mysql_fetch_array($result)) 
{  
    $count++; 
    $highscore['user' . $count] = $row['username']; 
    $highscore['score' . $count] = $row['score']; 
} 
+0

Разве это не даст массив массивов? – Gareth

+0

@gar - true true - моя клавиатура ушла от меня на секунду там: P – Lix

0

Если вам нужен «высокий балл», вы можете использовать max и просто вернуть 1 строку.

+0

Что делать, если у пользователя есть собственный личный счет? – Lix

+0

@lix запрос может быть легко изменен 'SELECT max (score) FROM users WHERE username =' lix ', но он сказал, что он требует его для функции, предположительно для заполнения таблицы. –

Смежные вопросы