Новый комментарий

zergey128work@bk.ru 07.02.2021 в 23:31

Привет! намекни как делать пейджинг для 18 млн записей в базе. например 100 тысячную страницу как открыть быстро?

ivashkevich 08.02.2021 в 05:56

Привет. Нужно отталкиваться от id записей. Получать список по условию WHERE id < 10000, например

Vladimir1990 13.02.2021 в 16:25

Привет, Артём! Скажи, пожалуйста, почему в этом уроке запрос не параметризирован, а просто сгенерирован через sprintf? Ведь безопаснее, когда переменные подаются в запрос через execute в виде массива, чем так, как здесь.

Vladimir1990 13.02.2021 в 20:31

Моя гипотеза в том, что для этого нужно переписывать (или писать дополнительный) метод query у класса Db, потому что метод execute у класса PDO может принимать значения переменных только в качестве строк, правильно?

ivashkevich 14.02.2021 в 15:22

А вы пробовали использовать параметризованные значения с выражениями OFFSET и LIMIT?

Тут всё безопасно благодаря приведению типов.

Vladimir1990 15.02.2021 в 01:19

Не планируете урок по сортировке записей с учётом пагинации? Догадаться, как это сделать, можно и самому, но хотелось бы увидеть, как сделать это правильно и красиво :)

ivashkevich 20.02.2021 в 04:37

Не, про то как добавить в запрос ORDER BY давайте сами)

Vladimir1990 16.02.2021 в 02:09

"А вы пробовали использовать параметризованные значения с выражениями OFFSET и LIMIT?"
Пробовал, если передавать параметр с типом PDO::PARAM_INT, то всё работает. А вот для сортировки и её направления не сработало. Очень хотелось бы увидеть урок по расширению функционала ORM или типа того

ivashkevich 20.02.2021 в 04:38

Ага, верно) А что именно хотелось бы увидеть в этом расширении?

kamil19862307@gmail.com 25.09.2025 в 08:38

Спасибо, хороший урок! Ещё из улучшений можно сделать так, чтобы если вы на первой странице, то номер этой страницы можно не показывать. Так как пользователь всё равно на неё кликать не будет.

<div style="text-align: center">
    <?php for ($pageNum = 1; $pageNum <= $pagesCount; $pageNum++): ?>
        <?php if ($currentPageNum === $pageNum): ?>
            <b><?php if ($pageNum === 1) {
                echo '';
            } else {
                    echo $pageNum;
                }
                ?></b>
        <?php else: ?>
            <a href="/<?= $pageNum === 1 ? '' : $pageNum ?>"><?= $pageNum ?></a>
        <?php endif;?>
    <?php endfor;?>
</div>
Логические задачи с собеседований