За последние 24 часа нас посетили 18854 программиста и 1705 роботов. Сейчас ищут 923 программиста ...

Постраничный вывод

Тема в разделе "PHP для новичков", создана пользователем nikitOScher, 27 дек 2011.

  1. nikitOScher

    nikitOScher Активный пользователь

    С нами с:
    19 дек 2011
    Сообщения:
    38
    Симпатии:
    0
    Подскажите пожалуйста как реализовать постраничный вывод изображений?

    В интернете полно статей, но соль в том, что везде описывается постраничный вывод данных из mysql, а мне не нужен вывод из БД. Есть галерея изображений, изображения берутся просто из определенной папки без участия БД.

    Код (Text):
    1. $count=0;
    2.  
    3. define('Q_TD', 4); // Количество столбцов
    4.  
    5. $td = 0;
    6. foreach ($photos as $photos) {
    7.     $count++; $w = getimagesize($photos['turl']);
    8.      $td++; // Номер столбца в текущей строке
    9.      if ($td == 1) {
    10.         print '<tr>'; // Первый столбец - открываем строку
    11.      } print '<td>';
    12.      ?>
    13.      <a href="<? print "imageview.php?value=$photos[url]&type=$photos[turl]&dir=$dir"; ?>" alt="Посмотреть в полном размере" title="Посмотреть в полном размере"><img border="1" width="<? if ($w[0]>200) print "200"; else print "$w[0]"; ?>px" src="<?=$photos[turl]?>" /></a>
    14.      <?
    15.        print '</td>';
    16.      if ($td == Q_TD) {
    17.          print '</tr>'; // Последний столбец - закрыли строку
    18.          $td = 0; // Сбросили счетчик
    19.      }
    20. }
    21. print "<div align=\"center\" style=\"font-size: 15pt;\"><b>Всего изображений:</b> $count</div>";
    22.  
    23. if ($td != 0) {
    24.      for ($i = $td; $i < Q_TD; $i++) {
    25.          print '<td> </td>';
    26.      }
    27.      print '</tr>';  
    28. }
    Есть просто массив с картинками...
     
  2. ss64

    ss64 Активный пользователь

    С нами с:
    25 мар 2010
    Сообщения:
    35
    Симпатии:
    0
    В первую очередб берешь значение count($photos)
    + отдельную переменную, где отмечается сколько записей на странице будет
    +
    количество страниц узнаешь так:
    $count_pages = ceil(count($photos)/$per_page)
    сеил - округляет в большую сторону.
    Затем узнаешь ид текущей страницы (GET['page_id'] к примеру)
    Затем с помощью цикла выводишь нужное количество фоток

    Соотвественно
    $start = GET['page_id'] *$per_page
    $end = (GET['page_id']+1) *$per_page

    $data = array_values($photos);
    for($i=$start;$i<$end;$i++){
    print_r($data[$i])
    }

    Вот суть любого пейджера, они все основаны на этой логике.
     
  3. nikitOScher

    nikitOScher Активный пользователь

    С нами с:
    19 дек 2011
    Сообщения:
    38
    Симпатии:
    0
    спасибо за скорый ответ. сейчас буду пробовать.
     
  4. sobachnik

    sobachnik Старожил

    С нами с:
    20 апр 2007
    Сообщения:
    3.380
    Симпатии:
    13
    Адрес:
    Дмитров, МО
  5. nikitOScher

    nikitOScher Активный пользователь

    С нами с:
    19 дек 2011
    Сообщения:
    38
    Симпатии:
    0
    Красота, ребят. Спасибо вам обоим. Уже сделал. Немножко желания + мозга + вашей помощи = быстрый результат =)