Вывод данных из БД

Oleksii

Новичок
PHP:
    <?php
    require_once "db.php";

    echo <<<HTML
            <form action='post.php' method='post'>
            <b>Name:</b><br>
            <input type='text' name='name'><br>
            <b>Message</b><br>
            <textarea cols=50 rows=10 name='msg'></textarea><br><br>
            <input type='submit' value='Send'><br><br><hr>
            </form>
HTML;
   
    $num = 10;
    if(isset($_GET['page'])) $page = $_GET['page']-1;
    else $page = 0;
    $start = abs($page * $num);
    $query = "SELECT * FROM messages LIMIT $start, $num";
    $result = dbConnect()->query($query);
    while($row = $result->fetch_array(MYSQLI_ASSOC))
    {
        echo "<b>" . $row['name'] . ":</b> " . $row['msg'] . "<br><br><hr>";
    }
    $count_query = "SELECT * FROM messages";
    $count_result = dbConnect()->query($count_query);
    $rows = $count_result->num_rows;
    $num_pages = ceil($rows / $num);
    for($i = 1; $i <= $num_pages; $i++)
    {
        if($i-1 == $page) echo $i . "\n.\n";
        else echo "<a href='" . $_SERVER['PHP_SELF'] . "?page=" . $i . "'>\n" . $i . "\n.\n</a>";
    }
    $result->close();
    $count_result->close();
    dbClose();



    ?>
Есть такой код для вывода постранично данных из базы. Все работает, только он выводит от первого до последнего елемента, а мне нужно от последнего до первого постранично. Уже перепробовал все что мог, через for вышло от последнего выбирать, но постранично не получилось. Помогите. Спасибо.
 

c0dex

web.dev 2002-...
Команда форума
Партнер клуба
Отсортируй данные в обратном порядке и все. ORDER BY знаешь что такое?
 

Oleksii

Новичок
Теперь знаю. Спасибо) Все работает) А сортировать вне запроса можно? Я пробовал без LIMIT, через цикл for выводить, мучался с началом и концом цикла, что бы выводило нужное количество в обратном порядке, но нужного результата не добился.
 

c0dex

web.dev 2002-...
Команда форума
Партнер клуба
Сортировать надо на уровне БД, а не циклами for
 

Oleksii

Новичок
Если без навигации то на одну страницу от последнего до первого id выводит for, только вот разбить это на нужное количество записей на несколько страниц не получилось
 
Сверху