Я создал галерею для своего сайта и решил использовать JQuery бесконечный свиток плагин (например, стена в фейсбуке) в моей галерее.
Все данные поступают из базы данных PHP MyAdmin. У меня вопрос, как получить данные для бесконечной прокрутки из базы данных? Все мои коды работают без проблем.
index.php:
<?php
include ("connect_database.php");
$select_post = "SELECT * FROM posts ORDER BY rand() LIMIT 5";
$run_posts = mysql_query($select_post);
while ($row=mysql_fetch_array($run_posts)) {
$post_id = $row['post_id'];
$post_date = $row['post_date']; //.etc here
?><div id="container">
<!-- gallery codes here and five thumbnails are randomly loading on homepage -->
</div><!--Next page for INFINITE SCROLL-->
<nav id="page-nav">
<a href="next-page.php"></a> <!--please check script.js-->
</nav>
Следующая страница загружается без проблем, когда я добавляю html или php файл в <nav>
теги. Но мне нужно создать новый файл php / html для каждой загрузки. У меня есть идея загрузить следующие 5 миниатюр без создания нового файла. Мне нужно получить следующие пять миниатюр для бесконечной прокрутки из базы данных.
script.js:
var $container = $('#container');
$container.infinitescroll({
// infinite scroll options...
navSelector : "#page-nav",
// selector for the paged navigation (it will be hidden)
nextSelector : "#page-nav a:first",
// selector for the NEXT link (to page 2)
itemSelector : "#container .box",
// selector for all items you'll retrieve
extraScrollPx: 10,
}
);
Если вы хотите, чтобы при каждой прокрутке загружалось 5 случайных записей, вам не нужно отличать один запрос от другого (например, номер страницы).
Хотя я не рассматриваю это как жизнеспособное решение, потому что вы получите дублирующиеся записи (вы решаете, является ли это проблемой или нет), вы можете использовать опцию «путь», чтобы вызвать следующую страницу, как в примере ниже.
$container.infinitescroll({
// infinite scroll options...
navSelector : "#page-nav",
// selector for the paged navigation (it will be hidden)
nextSelector : "#page-nav a:first",
// selector for the NEXT link (to page 2)
itemSelector : "#container .box",
// selector for all items you'll retrieve
extraScrollPx: 10,
path: function(index){
return "index.php?page=" + index;
}
}
);
Тогда, конечно, вам придется настроить файл index.php для правильной обработки параметра страницы. Тем не менее, опять же, имея случайные результаты, вам не понадобится параметр ‘page’, а скорее всегда будет возвращать «index.php» внутри функции path, и все должно работать нормально.
Других решений пока нет …