У меня есть страница, которая обслуживает список файлов для загрузки пользователями. Там может быть сотни файлов, и я хотел бы разбить их на несколько страниц и дать пользователям возможность видеть их по страницам или отображать их на одной странице. Я никогда не делал ничего подобного и не знаю, как это сделать.
Пожалуйста помоги. Спасибо!
Хорошо, у меня тоже был этот вопрос. Это в основном логика разбиения на страницы, я не собираюсь писать код, но если вам это нужно, дайте нам знать.
В принципе, вам нужно два значения, чтобы создать разбивку на страницы, предел и смещение.
Итак, допустим, у вас есть 5 предметов на каждой странице и 25 предметов.
В вашем запросе вам нужно ограничить 5,0 (количество элементов и позицию, которую начнется запрос).
Теперь, если вы разделите 5 (ограничение) / 25 (итого), и вы получите 5 (количество страниц).
Теперь на странице 0 (начало) вы можете получить смещение, умножив номер страницы с лимитом, поэтому 0 (страница) * 5 (предел) дает вам 0 (на первой странице вы начинаете со смещения 0).
Теперь на третьей странице вы умножаете 3 (страница) * 5 (лимит), это дает вам 15, что означает на странице 3 (или четыре, если учесть, что вы действительно начали на странице 0) вы будете отображать со смещения 16 на 20.
Наконец, на странице 4 (для ваших пользователей будет страница 5, потому что они начинаются со страницы 1, а не страницы 0), вы будете отображать со смещения 21-25, которые являются всеми элементами в вашем запросе.
Надеюсь, после прочтения этого вы понимаете логику разбивки на страницы, если вам нужна помощь с кодом, просто дайте нам знать.
Являются ли ваши имена файлов из базы данных? Если это так, проверьте фильтры OFFSET и LIMIT в своих запросах. Если нет, попробуйте подсчитать количество файлов, которые у вас есть, разделите их на блоки, а затем, когда вы перейдете на следующую страницу, сообщите, с чего начать.
Вот намек,
print "<a href='page.php?offset=$offest&limit=$limit'> Next </a>"
Для вас лучше попробовать и написать это самостоятельно, разбиение на страницы – основная функция в PHP-приложениях.
Для кого-то, кто никогда не делал ничего подобного, ему не больно учиться.
Для этого вам нужно будет передать значения через URL-адрес и изменить свой скрипт sql на основе предельного значения, переданного в URL-адресе.
Что нужно учитывать: предел SQL – это количество результатов, которые вы получите. Номер страницы – это страница результатов, которые возвращаются. Сортировка – это то, как результаты будут возвращены в разбивке на страницы. ссылки на страницы – список страниц. Это можно найти, взяв номер вашего результата, разделив его на лимит и набив номер.
Трудная часть создания разбивки на страницы делает ее расширяемой и может использоваться с другими списками информации, такими как комментарии или списки пользователей.
Может быть, вы попробуете написать один? Это очень легкая вещь для написания, и вы не будете связываться с кем-то кодом, который может быть подан в некачественном или каком-либо другом коде или фреймворке, который может устаревать через некоторое время.
Я знаю, что это не решение для этого вопроса, но это моя первая идея, читающая эту тему.
Во-первых, вы можете попытаться написать свой собственный. Кроме того, вы можете использовать Smarty (очень хорошо известную инфраструктуру представления PHP) вместе с этим плагином для разбивки на страницы .