За последние 24 часа нас посетили 56806 программистов и 1750 роботов. Сейчас ищут 787 программистов ...

Paginator для foreach

Тема в разделе "Прочие вопросы по PHP", создана пользователем wojaovlad, 4 дек 2015.

  1. wojaovlad

    wojaovlad Новичок

    С нами с:
    18 окт 2015
    Сообщения:
    3
    Симпатии:
    0
    Доброго времени.

    Есть вопрос. На сайте размещены отзывы пользователей, которые берутся из БД. Так как сайт писался другим человеком, наиболее простым вариантом показалось сделать пагинацию в самом цикле foreach. Хоть и не самый рациональный путь. Гугл показал что это возможно. Однако не соображу как это реализовать у себя.
    Таким образом вот такой цикл:
    Код (PHP):
    1. {if $responses}
    2.             
    3.             <ul class="comment_list">
    4.         {foreach $responses as $response}
    5.                     {if $response->approved}
    6.                         <a name="comment_{$response->id}"></a>
    7.                         <li>
    8.                             
    9.                             <div class="comment_header">
    10.                                 <span class="title_small">{$response->name|escape}</span>
    11.                                 <div>
    12.                                     
    13.                                     {$response->text|escape|nl2br}
    14.                                     
    15.                                     <p style="text-align: right; font-style: italic; color: #999999;" mce_style="text-align: right; font-style: italic; color: #999999;">Дата добавления: {$response->date|date}, {$response->date|time}</p>
    16.                                 </div>
    17.                             </div>
    18.                             
    19.  
    20.  
    21.                         </li>
    22.                     {/if}
    23.                 
    24.                 {/foreach}
    25.             </ul>
    26.             
    27.             
    28.         {else}
    29.             <p>
    30.                 Пока нет отзывов
    31.             </p>
    32.         {/if}
    Моя попытка чего-то сделать:

    Код (PHP):
    1. {if $responses}
    2.             
    3.             <ul class="comment_list">
    4.                 {$number = 0}
    5.                 {foreach $responses as $response}
    6.                     {if $response->approved}
    7.                         {if $number != 10}
    8.                         {$number++}
    9.                         <a name="comment_{$response->id}"></a>
    10.                         <li>
    11.                             
    12.                             <div class="comment_header">
    13.                                 <span class="title_small">{$response->name|escape}</span>
    14.                                 <div>
    15.                                     
    16.                                     {$response->text|escape|nl2br}
    17.                                     
    18.                                     <p style="text-align: right; font-style: italic; color: #999999;" mce_style="text-align: right; font-style: italic; color: #999999;">Дата добавления: {$response->date|date}, {$response->date|time}</p>
    19.                                 </div>
    20.                             </div>
    21.                             
    22.  
    23.  
    24.                         </li>
    25.                     {/if}
    26.                     {/if}
    27.                 {/foreach}
    28.             </ul>
    29.             
    30.             
    31.         {else}
    32.             <p>
    33.                 Пока нет отзывов
    34.             </p>
    35.         {/if}
    Да, теперь у меня отображается 10 записей всего, но как сделать до конца, чтобы отоброжались номера/либо какую кнопку "больше отзывов" и отображать следующую партию не могу сообразить.

    Буду благодарен за любой дельный совет.
     
  2. denis01

    denis01 Суперстар
    Команда форума Модератор

    С нами с:
    9 дек 2014
    Сообщения:
    12.227
    Симпатии:
    1.714
    Адрес:
    Молдова, г.Кишинёв
    А что за шаблонитизатор используется?
     
  3. wojaovlad

    wojaovlad Новичок

    С нами с:
    18 окт 2015
    Сообщения:
    3
    Симпатии:
    0
    Шаблонизатор smarty
     
  4. mkramer

    mkramer Суперстар
    Команда форума Модератор

    С нами с:
    20 июн 2012
    Сообщения:
    8.600
    Симпатии:
    1.764
    Вы пытаетесь на шаблонизатор функции php возложить. Вы должны передать в шаблон уже данные нужной страницы, и количество страниц, и вообще всю необходимую информацию.Смотрите, где ваши response формируются. А так - классическая задача на AJAX