То, на что я нацелен, - это ограничение количества элементов списка на одной странице, а затем для их переноса на новую страницу. Я хочу сделать это, чтобы быстро добавлять новые элементы списка и не беспокоиться о том, слишком ли длинна страница или занимает слишком много времени для загрузки. Точка в правильном направлении была бы замечательной, и пример кода, который мне нужен, был бы лучше! СпасибоОграничение количества элементов списка?
ответ
Общая техника называется пейджинг. Смотрите, например, http://www.php-mysql-tutorial.com/wikis/php-tutorial/paging-using-php.aspx
Идея заключается в том, чтобы использовать пункт LIMIT
в запросе базы данных SQL, чтобы получить подмножество результатов, заданное смещение в списке записей, а число записей, начиная с, что смещение для получения , Затем вы изменяете gallery.php
, чтобы принять параметр GET page
(в качестве руководства, к которому я привязан, например, gallery.php?page=3
) или параметр GET offset
(т. Е. gallery.php?offset=36
) и соответствующим образом изменить предложение LIMIT
. Например, если у вас есть 12 элементов на странице, то на странице 2 галереи отображаются записи с 12 по 23 включительно (с нуля).
EDIT: Вот пример кода PHP:
<ul class="ulgallery">
<?php
$gallery_items = array(
array("img_src" => "image1.png", "title" => "This is image 1.", "author" => "John Doe"),
array("img_src" => "image2.png", "title" => "This is image 2.", "author" => "John Doe"),
array("img_src" => "image3.png", "title" => "This is image 3.", "author" => "John Doe"),
array("img_src" => "image4.png", "title" => "This is image 4.", "author" => "John Doe"),
array("img_src" => "image5.png", "title" => "This is image 5.", "author" => "John Doe"),
array("img_src" => "image6.png", "title" => "This is image 6.", "author" => "John Doe"),
array("img_src" => "image7.png", "title" => "This is image 7.", "author" => "John Doe"),
array("img_src" => "image8.png", "title" => "This is image 8.", "author" => "John Doe"),
array("img_src" => "image9.png", "title" => "This is image 9.", "author" => "John Doe"),
array("img_src" => "image10.png", "title" => "This is image 10.", "author" => "John Doe"),
array("img_src" => "image11.png", "title" => "This is image 11.", "author" => "John Doe"),
array("img_src" => "image12.png", "title" => "This is image 12.", "author" => "John Doe"),
array("img_src" => "image13.png", "title" => "This is image 13.", "author" => "John Doe"),
// ...
array("img_src" => "image304.png", "title" => "This is image 304.", "author" => "John Doe")
);
define("ITEMS_PER_PAGE", 12);
$page = isset($_GET["page"]) ? (int)$_GET["page"] : 0;
if ($page < 0)
$page = 0;
$num_pages = (int)((count($gallery_items) + ITEMS_PER_PAGE - 1)/ITEMS_PER_PAGE);
if ($page > $num_pages)
$page = $num_pages;
$end_index = ($page + 1) * ITEMS_PER_PAGE;
if ($end_index > count($gallery_items))
$end_index = count($gallery_items);
for ($offset = $page * ITEMS_PER_PAGE; $offset < $end_index; ++$offset) {
$current_gallery_item = $gallery_items[$offset];
// output the <img> tag for $gallery_items[$offset];
echo '<li><a href="#"><img src="' . $current_gallery_item["img_src"] . '" /></a></li>';
}
?>
</ul>
Я не проверял, но по линии того, что я предлагаю.
Спасибо за ответ, я смотрел учебник, и я немного нечеткий, начиная с. Прежде всего, я добавляю элементы списка по html, так как я не слишком хорошо знаком с базой данных sql. Нужно ли мне лучше знать SQL, прежде чем я начну это делать? спасибо – Jake
@Jake: метод LIMIT предполагает базу данных SQL, но вам не нужна база данных SQL для выполнения аналогичного метода. Если у вас есть массив элементов галереи в вашем PHP-скрипте, вы можете в этом разместить страницу. Так, например, если этот массив называется '$ gallery_items', вы можете выводить HTML только на 12 элементов за раз на основе параметра' страницы' GET. –
@ Jake: Я добавил несколько примеров кода PHP в свой ответ. –
- 1. Ограничение количества массивов элементов включает
- 2. QTableView - ограничение количества выбранных элементов?
- 3. Ограничение количества элементов в векторе
- 4. Проверка количества элементов списка
- 5. Ограничение количества элементов списка для отображения в Python
- 6. Ограничение количества строк в представлении списка
- 7. Ограничение количества элементов на JQuery Autocomplete Теги
- 8. Ограничение количества элементов в GridView C# UWP
- 9. ограничение количества вхождений элементов в 2-кортежах
- 10. Ограничение количества элементов в каждой строке матрицы
- 11. Python: ограничение количества элементов в массиве
- 12. Подсчет количества элементов списка из списка?
- 13. Ограничение количества отображаемых фидов
- 14. Ограничение не распространяется при создании элементов списка
- 15. Увеличение количества проверенных элементов списка Линия строк
- 16. Подсчет количества элементов списка в XQuery
- 17. Использование jQuery для ограничения количества элементов списка
- 18. «myList.Count» меньше количества элементов внутри списка
- 19. Поиск количества равных элементов в начале списка
- 20. Ограничение количества одновременных System.Threading.Tasks.Task
- 21. Ограничение количества процессорных ядер
- 22. Ограничение количества записей
- 23. Ограничение количества внедренных объявлений
- 24. Mysql ограничение количества запросов
- 25. Ограничение количества узлов
- 26. Ограничение количества используемых сердечников
- 27. Ограничение количества нерешенных тем
- 28. Ограничение количества строк
- 29. Ограничение количества плутов
- 30. Ограничение количества переменных Matlab
Как вы можете добавить элементы списка? Из базы данных? Hardcoded html? – AJJ
HTML, по-видимому, мне нужно начать добавлять их из базы данных? – Jake
Ну, вы могли бы, конечно, просто создать несколько html-файлов, сохранить эти html с дополнительными элементами списка (например, 10 элементов каждый) на сервере и загрузить их через ajax, если вам удобно с jquery или другой js-библиотекой, это не такая большая работа. Или, почему бы не просто загрузить несколько элементов для начала плюс ссылку «Подробнее ...» или аналогично загружать вторую страницу со всеми элементами? – AJJ