Практика PHP для начинающих. Урок 18. Принцип создания постраничной навигации (пагинации)

Поділитися
Вставка
  • Опубліковано 27 чер 2023
  • Выложил свой первый курс на площадке Udemy. Курс по созданию интернет-магазина и веб-приложений в Telegram.
    Ссылка на курс - www.udemy.com/course/telegram...
    ==========================================
    Из этого урока вы узнаете о принципах создания постраничной навигации (пагинации). Зная алгоритм построения пагинации, мы сможем написать в дальнейшем собственный класс пагинации, который можно будет использовать для различных проектов. В данном уроке мы, пока что без класса, просто выведем пагинацию, которая уже будет работать в простейших случаях.
    Данная серия уроков предназначена для начинающих программистов на PHP и веб-разработчиков. Цель предлагаемых уроков - научить писать правильный и красивый код, а также показать основные методики написания структурированного кода. В этих уроках будут затронуты такие темы как:
    - Как отделить логику от представления.
    - Как избежать дублирования кода.
    - Что такое Router (маршрутизатор) и как написать собственный класс Router.
    - Как работать с базой данных (БД), используя PDO и как написать свой класс для работы с БД.
    - Что такое Service Container и как написать свой Service Container.
    - Что такое Middleware и как написать свой Middleware.
    - и т.д.
    Исходники к уроку - github.com/matroskin978/phpbe...

КОМЕНТАРІ • 37

  • @phpstudy8625
    @phpstudy8625 Місяць тому

    Лучшее обьяснение пагинации !!! Спасибо

  • @screomyscreomy6714
    @screomyscreomy6714 5 місяців тому

    Как всегда СУПЕР! Спасибо за урок

  • @StasKantor
    @StasKantor 6 місяців тому

    Спасибо большое за урок

  • @dmitriivanov7010
    @dmitriivanov7010 5 місяців тому

    Отличные уроки. Прохожу на УРА!
    Спасибо.

  • @user-gd4ie3ux4u
    @user-gd4ie3ux4u 8 місяців тому

    Спасибо за урок!

  • @MyNameIsRishat
    @MyNameIsRishat 6 місяців тому

    Очень всё подробно и доходчиво, спасибо за урок!

  • @user-wq2xj7pe6t
    @user-wq2xj7pe6t Рік тому

    Круто! Спасибо!

  • @user-fk6sy8di3f
    @user-fk6sy8di3f Рік тому

    Обалденные уроки. С нетерпением ждём новых!!!👍

  • @deepsyuncle4972
    @deepsyuncle4972 Рік тому +1

    Отличный урок! Спасибо большое

  • @matroskin978
    @matroskin978  Рік тому

    Исходники к уроку - github.com/matroskin978/phpbeginners/tree/23bc8c1a2f5f5d96328ba0f6a08782b323d49441

  • @user-samdi
    @user-samdi 5 місяців тому

    Очень подробно объясняете, спасибо большое. У вас есть уроки по логике и архитектуре построения приложения?

    • @matroskin978
      @matroskin978  5 місяців тому

      Пожалуйста 🙂
      Есть целый курс на эту тему - www.udemy.com/course/php-8-framework/?referralCode=1D29D8356C893C7889B3
      Если будет желание приобрести, но возникнут сложности с этим, тогда пишите мне на email - подскажу и помогу.

  • @matroskin978
    @matroskin978  Рік тому

    Выложил свой первый курс на площадке Udemy. Курс по созданию интернет-магазина и веб-приложений в Telegram.
    Ссылка на курс - www.udemy.com/course/telegram-bots-web-apps/?referralCode=A574DFE059CF9FF4E002

    • @SuperTRISTAN888
      @SuperTRISTAN888 Рік тому

      А, курсы по ларавел, mysql, другие? Или это именно на Udemy? Или есть другой Андрей Кудлай?

    • @matroskin978
      @matroskin978  Рік тому

      @@SuperTRISTAN888 честно говоря, не совсем понял сути вопроса... Я - Андрей и фамилия моя - Кудлай)
      Одномоментно записать сразу несколько курсов я не могу, поэтому записываю по одному и сразу выкладываю на Udemy. Если Вы имеете в виду мои курсы на WebForMyself, то там они сняты с продаж. Все новые мои курсы будут выходить на Udemy.

    • @SuperTRISTAN888
      @SuperTRISTAN888 Рік тому

      @@matroskin978 Да именно WebForMyself имел ввиду. Просто Вы написали мол первый свой курс выкладываю, а я такой как первый, раньше же были курсы и не один, вот и уточнил. Спасибо за ответ. И спасибо за курсы.

    • @matroskin978
      @matroskin978  Рік тому

      Ну имел в виду свой первый курс вне WebForMyself :)
      К слову, уже выложил и второй свой курс на Udemy ;)

  • @solvex8304
    @solvex8304 Рік тому

    Сделайте, пожалуйста, видео с пагинацией на курсорах, если id - uuid.

    • @matroskin978
      @matroskin978  Рік тому

      Честно говоря, я даже не знаю, что это за пагинация такая. Если покажете пример, чтобы я понял, тогда могу посмотреть.

    • @matroskin978
      @matroskin978  Рік тому

      Погуглил и вспомнил метод, о котором Вы говорите. Да, он имеет свой плюс в виде скорости выборки на больших наборах данных, но также имеет и не менее большие минусы. И для классической пагинации с циферками даже и не представляю как его реализовать, если выборка происходит по данным, которые имеют прерывающуюся последовательность ID. Подозреваю, что это попросту невозможно. В следующем уроке я постараюсь сказать несколько слов об этом способе. Реализовывать его, пожалуй, не буду все же.

    • @solvex8304
      @solvex8304 Рік тому

      @@matroskin978 У меня есть мысль, что можно реализовать не по id а по created_at. Как правило, в 90% случаях такая (или похожая) колонка есть в табличках.

    • @matroskin978
      @matroskin978  Рік тому

      Можно реализовать не только по ID. Но поле, по которому строится пагинация, должно быть при этом уникальным, как и ID. В случае с датой создания это может быть невозможно. Это первое ограничение такого варианта пагинации. Есть и другие. Но самое главное - такую пагинацию не сделать классической, с номерами страниц. Такая пагинация реализуема только в виде ссылок Next/Prev или в виде бесконечной прокрутки. В общем, обязательно поговорим об этом варианте в следующем уроке.

    • @solvex8304
      @solvex8304 Рік тому

      @@matroskin978 Ну почему невозможно, если в строке браузера ссылку строить не на ид, а на дате и в запросе выбирать WHERE created_at > $date, как-то так мне видится.

  • @progerlife6690
    @progerlife6690 Рік тому

    Огромное вам спасибо! Привет из Днепра)