EOMY.NET
Хостинг EOMY.NET: Форум поддержки
 
 FAQFAQ   ПоискПоиск   ПользователиПользователи   ГруппыГруппы   РегистрацияРегистрация 
 ПрофильПрофиль   Войти и проверить личные сообщенияВойти и проверить личные сообщения   ВходВход 
RSS Feed  

Pagination

 
Начать новую тему   Ответить на тему    Список форумов EOMY.NET -> Программирование для WEB
Pagination
Автор Сообщение
ph0en1x
Интернет на завтрак
Интернет на завтрак


Зарегистрирован: 28.11.2007
Сообщения: 41

1 Монеты

СообщениеДобавлено: Чт, 18 Июн, 2009 22:43    Заголовок сообщения: Pagination Ответить с цитатой

занялся созданием простенькой фотогалереи.

Принцип роботы у неё такой:
получаем названия всех файлов с помощь php
и выводим посредством jQuery.

Код которым получаем превьюшки:
Код:
<?
$d = dir('img/');
$i = 0;
$e = $_GET['e'];
   while(false !== ($e = $d->read()))
   {
      if(strpos($e,'.jpg'))
      {
         ++$i;
         
         echo ' <li class="active"><img src="img/'.$e.'"></li>'.chr(10);
         
      }
   }
?>



Хотелось бы выводить эти превьюшки квадратом 4х4 (по 16 фото)
но фотографий больше, и получается пока в 4 столбика.

Подскажите правильный способ реализации Pagination.
Вернуться к началу
Посмотреть профиль Отправить личное сообщение
madhamster
Согнул ложку
Согнул ложку


Зарегистрирован: 09.10.2006
Сообщения: 902

432 Монеты

СообщениеДобавлено: Пт, 19 Июн, 2009 00:54    Заголовок сообщения: Ответить с цитатой

Код:

<?php



$dirname = 'images';
$ext     = '.jpg';
$items   = 16;



$files = glob("$dirname/*$ext");
$total = count($files);
$pages = ceil($total / $items);



$page   = (!is_numeric($_GET['page']) || $_GET['page'] > $pages || $_GET['page'] < 1)? 1 : $_GET['page'];

$offset = $page * $items - $items;

$files  = array_slice($files, $offset, $items);



foreach($files as $file){

    echo '<li class="active"><img src="'.$file.'" width="80" height="60"></li>';

}



?>


Номер страницы передаётся чрез GET типа: gallery.php?page=2

Думаю страницы подсчитать вы в состоянии.
_________________
NextStage - live music competition
Вернуться к началу
Посмотреть профиль Отправить личное сообщение Посетить сайт автора
ph0en1x
Интернет на завтрак
Интернет на завтрак


Зарегистрирован: 28.11.2007
Сообщения: 41

1 Монеты

СообщениеДобавлено: Вс, 21 Июн, 2009 18:47    Заголовок сообщения: Ответить с цитатой

madhamster, спасибо.
Странички подсчитал так:
Код:
$next  = ceil($page + 1);
$prev  = ceil($page - 1);
if($_GET['page'] <= 1)

      {
echo '<p class="nav">&laquo; prev|<a href="./?page='.$next.'">next &raquo;</a></p>';

      }

if($_GET['page'] >= $pages)

      {
echo '<p class="nav"><a href="./?page='.$prev.'">&laquo; prev</a>|next &raquo;</p>';

      }


и переделал:
Код:
$page   = (!is_numeric($_GET['page']))? 1 : $_GET['page'];
Вернуться к началу
Посмотреть профиль Отправить личное сообщение
ph0en1x
Интернет на завтрак
Интернет на завтрак


Зарегистрирован: 28.11.2007
Сообщения: 41

1 Монеты

СообщениеДобавлено: Вс, 21 Июн, 2009 22:44    Заголовок сообщения: Ответить с цитатой

И ещё хотелось бы узнать какова нагрузка такого скрипта на сервер.
При каком количестве обращений в секунду прийдется задумываться о кешировании?
А также сколько файлов должно быть в директории для "шустрой" работы?

Или нагрузка вобще минимальна и кеширования здесь не имеет смысла?
Вернуться к началу
Посмотреть профиль Отправить личное сообщение
madhamster
Согнул ложку
Согнул ложку


Зарегистрирован: 09.10.2006
Сообщения: 902

432 Монеты

СообщениеДобавлено: Пн, 22 Июн, 2009 00:31    Заголовок сообщения: Ответить с цитатой

Скорее последнее...
_________________
NextStage - live music competition
Вернуться к началу
Посмотреть профиль Отправить личное сообщение Посетить сайт автора
Показать сообщения:   
Начать новую тему   Ответить на тему    Список форумов EOMY.NET -> Программирование для WEB Часовой пояс: GMT
Страница 1 из 1

 


EOMY TOP 100 Rambler's Top100   Рейтинг@Mail.ru    



Powered by phpBB © 2001, 2005 phpBB Group


Рейтинг SIMPLETOP.NET