- Возьмите фреймворк, где уже реализована пагинация, и не мучайтесь Ларавел вам о, Аноним (1), 12:38 , 28-Окт-22 (1)
Возьмите фреймворк, где уже реализована пагинация, и не мучайтесь. Ларавел вам отлично подойдет.
- Сейчас стараются отделять бэкэнд от фронтэнда Бэкэнд пишут на чём угодно, напри, abi (?), 16:13 , 28-Окт-22 (3)
Сейчас стараются отделять бэкэнд от фронтэнда. Бэкэнд пишут на чём угодно, например на php и делают там REST или GRAPHQL контроллеры. Фронт пишут на vue.js или на чём хотят, но на сервере никакого node.js нет. Он есть на машине разработчика для упаковки написанного кода. Когда я потыкал такой фреймворк ради интереса (quasar) я вообще не увидел там особого программирования на js. А принцип отдельного запроса для получения числа строк вообще не живёт на нагрузке/большом числе записей. Точное число строк так же мало кому нужно, не говоря уже о том, что пока навигируют туда-сюда, список может поменяться. На мой взгляд, правильно запрашивать в базе данные с окном + 1 и если вернулось число записей > окна, рисовать ссылку на следующую страницу + разместить на контроле навигации возможность запросить точное число строк, если у кого-то будет такое желание.
- Просто используйте для ответа json, для начала можно просто отдавать 2 куска htm, анонимомус (?), 17:31 , 02-Ноя-22 (7)
Просто используйте для ответа json, для начала можно просто отдавать 2 куска html(если я правильно понял ваш поток сознания).> Я довольно давно занимаюсь простенькой разработкой WEB приложений и сайтов на php Чисто из интереса, давно - это сколько?
- Не вижу проблемы, нужен только небольшой рефакторинг По-хорошему, ajax должен за, wwwebc (ok), 17:07 , 03-Дек-22 (12)
Не вижу проблемы, нужен только небольшой рефакторинг. По-хорошему, ajax должен запрашивать только данные, а не готовый html. Ответ в результате ajax-запроса будет выглядеть примерно так:{ num_pages: 5, // подсчитанное кол-во страниц, с учетом фильтров и т.п. page_limit: 50, // кол-во записей на страницу data: [ // данные для текущей страницы { id: 123, text: "абырвалг..."}, { id: 456, text: "абырвалг..."}, { id: 789, text: "абырвалг..."} ] } сам запрос будет что-то типа такого: $.ajax({ url: "/data.php", method: "post", dataType: "json", // важно указать, что данные возвращаются в формате json. как вариант, можно прописать нужный header в ответе от PHP data: { param1: "фильтр 1", param2: "фильтр 2" }, success: function(response) { // console.log(response); // для отладки if (response.data) { // тут код для заполнения и отображения таблицы } if (response.num_pages > 1) { // тут код для отрисовки пагинатора // для этого достаточно знать, сколько всего страниц будет и сколько записей на каждую страницу } // если страница одна, то можно не выводить пагинатор } }); Далее, с помощью js на стороне клиента можно сформировать и таблицу, и пагинатор (см. комменты в коде выше). Для пагинации можно взять любой готовый плагин jQuery, например, нашел вот такой простой плагин: https://www.jqueryscript.net/other/simple-versatile-paginati...
- Привет, если интересно, посмотри код coffee cms там как раз идеология минимализм, Oleg (??), 20:26 , 04-Дек-22 (15)
Привет, если интересно, посмотри код coffee cms там как раз идеология минимализма хорошо реализована.
- Доброго Всю тему не читал Самая простая пагинация делается с помощью инкремента , dcc0 (ok), 12:15 , 14-Дек-22 (17)
Доброго! Всю тему не читал. Самая простая пагинация делается с помощью инкремента и декремента переменной, которая передаётся методом POST или GET в качестве номера страницы для текстового файла или ID, если вывод из БД. Данный подход крайне прост, реализуется в PHP, но в то же время - это, скорее всего, самый надёжный подход. В Html5 фактитически уже есть тег для пагинации: https://www.w3schools.com/tags/tryit.asp?filename=tryhtml5_i...
|