2013-07-19 3 views
1

У меня очень длинный foreach, который я бы хотел загрузить по мере того, как пользователь прокручивает вниз (бесконечный прокрутки), но я искал решение и не нашел способ сделать это.php foreach бесконечный прокрутки

мой код похож на этот:

foreach ($multi_array as $key=>$value){ 
    echo $value[0]."<br />"; 
    echo $value[1]."<br />"; 
    echo $value[2]."<br />"; 
    echo $value[3]."<br />"; 
    echo $value[4]."<br />"; 
    .... 
} 

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

Я знаю, что эффект должен быть выполнен в javascript, и я уже пробовал jquery waypoints, но по какой-то причине я не мог заставить его работать.

+0

Вам необходимо использовать Ajax, чтобы при достижении нижней части страницы ваше приложение могло получать следующий набор записей .... Я думаю, это похоже на [вопрос] (http://stackoverflow.com/questions/6164767/infin-scrolling-inside-ajax-loaded-page) – Yogesh

+0

Я думаю, что было бы более практичным решением, которое извлекает данные из divs вместо внешнего php-файла. Таким образом, я мог бы открывать и закрывать тег div каждые x раз в циклах foreach. После того, как контент будет разделен на div, javascript просто сохранит эти div, когда страница достигнет дна. но как ?!? – user2599347

ответ

1

После тестирования различных сценариев я не мог получить любой из работы.

В конце концов, я решил эту проблему следующим образом:

1- создал PHP скрипт с Еогеасп и системой нумерации страниц, который знает, где она осуществляется через $ _GET переменной

2- создали новый файл с div на нем. создал триггер, который знает, когда пользователь достигает конца страницы. Этот триггер выполняет две функции: простой счетчик, который увеличивается с помощью триггера и ajax, который извлекает данные скрипта php и помещает его в div. Счетчик - это так, что я могу увеличить запрашиваемую страницу, например:

url: "data.php?page="+counter 

простой, но он работает. Мне все еще нужно найти способ, чтобы PHP-скрипт рассказывал javascript, когда страниц больше нет.

1

Вы не можете «прокручивать» с помощью PHP. PHP - это lanugage, который оценивается на сервере. Клиент (который может прокручивать) никогда не увидит никакого PHP. Если вы хотите прокручивать, вам придется использовать JavaScript.

Один подход с JavaScript заключается в загрузке содержимого с помощью запросов AJAX. Ссылка, опубликованная в ваших комментариях, является хорошим началом: Infinite scrolling within ajax-loaded page

+0

Извините за путаницу, я добавлю информацию к моему первоначальному вопросу. – user2599347

0

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

Этот плагин JQuery может помочь вам: jQuery WayPoint Infinite Scroll

+0

это была моя первая попытка, и, вероятно, лучший выбор, но я не мог заставить ее работать. Не могли бы вы привести мне рабочий пример? – user2599347

Смежные вопросы