@Dooti

Как сделать вывод из таблицы с нумерацией?

Нужно чтоб выводилось вот так
1. Ник Голосов Последний голос

<?php
$conn = mysqli_connect("localhost", "root", "", "test");
if (!$conn) {
    die("Ошибка: " . mysqli_connect_error());
}
$sql = "SELECT * FROM `dle_users` ORDER BY `dle_users`.`votes` DESC LIMIT 10";
?>

<table width="100%" class="vote-table">
        <tr class="vote-header">
            <th>ID</th>
            <th>Ник</th>
            <th>Голосов</th>
            <th>Последний голос</th>
        </tr>

<?php
if($result = mysqli_query($conn, $sql)){
    foreach($result as $row) {
        $vote = $row["votes"];
        $date = strtotime($row['lastvote']);
        $nik = $row['name'];
        if ($vote >= 1) {
            $i = 1;
            echo '<tr>';
            echo '<th style="border-right: 1px solid #939aad">' . $i++ .'</th>';
            echo "<th style='border-right: 1px solid #939aad; border-left: 1px solid #939aad'> $nik </th>";
            echo '<th style="border-right: 1px solid #939aad">' .$row["votes"] . '</th>';
            echo '<th style="border-right: 1px solid #939aad">' .date("d.m.Y", $date). ' в ' . date("H:i", $date) . '</th>';
        } else {

        }
    }
    mysqli_free_result($result);
}
mysqli_close($conn);
?>

</table>
</div>
  • Вопрос задан
  • 87 просмотров
Решения вопроса 2
firedragon
@firedragon
Не джун-мидл-сеньор, а трус-балбес-бывалый.
$i =1;
// так как перебираем тут, то счетчик должен быть за этой областью
foreach($result as $row) {
        $vote = $row["votes"];
        $date = strtotime($row['lastvote']);
        $nik = $row['name'];
        if ($vote >= 1) {
            // $i = 1; 
           // в этом месте и всегда равно 1, поэтому выносим его за цикл перебора
            echo '<tr>';
            echo '<th style="border-right: 1px solid #939aad">' . $i++ .'</th>';
            echo "<th style='border-right: 1px solid #939aad; border-left: 1px solid #939aad'> $nik </th>";
            echo '<th style="border-right: 1px solid #939aad">' .$row["votes"] . '</th>';
            echo '<th style="border-right: 1px solid #939aad">' .date("d.m.Y", $date). ' в ' . date("H:i", $date) . '</th>';
        } else {

        }
    }
Ответ написан
Комментировать
@EDIsaev
чтобы не мудрить никакие счётчики
foreach ($result as $idx => $row){
...
}
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы
YCLIENTS Москва
от 200 000 до 350 000 ₽
Ведисофт Екатеринбург
от 25 000 ₽
ИТЦ Аусферр Магнитогорск
от 100 000 до 160 000 ₽