2014-08-02 3 views
0

Я делаю таблицу лидеров, я хочу, чтобы ее номер, как 1-е место 2-го места и т. Д. В поле таблицы html.Php число каждый результат запроса

Как я могу вывести каждую строку информации? Что-то вроде $result + 1?

Мой запрос

$result = mysqli_query($con,"SELECT * FROM playerdata WHERE Admin='0' ORDER BY Bank DESC LIMIT 1"); 

          while($row = mysqli_fetch_array($result)) { 
$bank = $row['bank']; 

}

Спасибо.

+1

Если вы используете цикл для чтения записей из $ результата; используйте инкрементирующее значение в этом цикле –

+2

Вы не должны использовать SQL-запрос для такого форматирования. При повторении с помощью '$ result' используйте счетчик циклов. –

+0

Добавлен цикл. Пожалуйста, просмотрите его – user3813511

ответ

2

Вы можете перебирать результаты запроса с помощью:

$result = mysqli_query($con,"SELECT * FROM playerdata WHERE Admin='0' ORDER BY Bank DESC LIMIT 900"); 
$rows = mysqli_num_rows($result); 

for($x = 1; $x <= $rows; $x++) { 
    $row = mysqli_fetch_array($result); 
    echo "#{$x} " . $row['bank']; 
} 

Это начнет обратный отсчет, показывая "# 1 ... # 2 ... # 3 ..." и т.д. Вы можете также сделать это с вашим циклом while:

$result = mysqli_query($con,"SELECT * FROM playerdata WHERE Admin='0' ORDER BY Bank DESC LIMIT 900"); 

$x = 1; 
while($row = mysqli_fetch_array($result)) { 
    $bank = $row['bank']; 
    echo "#{$x} " . $bank; 
    $x++; 
} 
+0

Не работает, он просто отображает # 1 – user3813511

+0

Ум, первый код работает, но я не могу получить никакой информации, такой как $ row ['bank']; – user3813511

+0

Обновлен 2-й код с изменением «LIMIT 900». Посмотрите, работает ли он так, как ожидалось. –

0

С самим запросом вы можете построить результат, я думаю, что это то, что вам нужно. Не уверен, что

SELECT @curRank := @curRank + 1 AS rank, a.* 
FROM  playerdata a, (SELECT @curRank := 0) r 
WHERE Admin='0' ORDER BY Bank DESC LIMIT 900 

В php

$result = mysqli_query($con,"SELECT @curRank := @curRank + 1 AS rank, a.* 
    FROM  playerdata a, (SELECT @curRank := 0) r 
    WHERE Admin='0' ORDER BY Bank DESC LIMIT 900"); 

while($row = mysqli_fetch_array($result)) { 
    $rank = $row['rank']; 
    $bank = $row['Bank']; 
} 
Смежные вопросы