[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Листалка без БД
brainraider
В общем гуглил, искал на форумах, так и не нашел...

Дело вот в чем:

Есть массив, в который забиты изображения (допустим 1000). Понятное дело - выводить все изображения на 1й странице, это смерть... для всего смерть кароче...

Так вот, хотелось бы написать листалку, типа по 10 элементов на странице.

И ниже идут ссылки на дальнейшие страницы. подскажите плиз, что стоит использовать для этого? ненужно готовый код, т.к. хотелось бы самому разобраться, но вот от толковой идейки не откжусь!

Заранее благодарен!



Спустя 27 минут, 13 секунд (16.11.2009 - 23:32) glock18 написал(а):
И так вопрос:
какова связь между БД и листалкой???
при создании постранички при выводе данных из бд, единственное что затрагивается - limit-offset запроса. в чем сложность то? - все так же почти один в один

Спустя 13 минут, 50 секунд (16.11.2009 - 23:45) Grazor написал(а):
Цитата (glock18 @ 16.11.2009 - 23:32)
все так же почти один в один

в общем-то да, если массив упорядоченный

Спустя 8 минут, 52 секунды (16.11.2009 - 23:54) brainraider написал(а):
Ребят читайте сабж плиз.
Там четко написано - БЕЗ базы данных.
Массив упорядоченный, но хотел просто спросить какими лучше функциями пользоваться...

И логика листалки такая ли?

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

Так?

Спустя 29 минут, 24 секунды (17.11.2009 - 00:24) Krevedko написал(а):
да. гетом передаешь на какой стрнице находишься.
гет*лимит на странице= с какой картинки выводить

т.е. если $_Get['page'] = 8 (восьмая страница) и количество на странице =10 скажем...тогда выводи 8*10 = с 90 по 100 картинки

Спустя 28 минут, 32 секунды (17.11.2009 - 00:52) brainraider написал(а):

$iop=10;
if (isset($_GET['page']) && $_GET['page']!='') $page=intval($_GET['page']);
else $page=1;
$count=count($images);
$pages=ceil($count/$iop);
if ($page<1) $page=1;
elseif ($page>$pages) $page=$pages;
$min=($page-1)*$iop;
$img=array_slice($images,$min,$iop);
for ($i=1; $i<=$pages; $i++)
{
if ($i!=$page) print '  <a href="?page='.$i.'">'.$i.'</a>  ';
else print '<b>'.$i.'</b>';
}


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

страницы генерятся по ГЕТ(ду)

Спустя 1 час, 12 секунд (17.11.2009 - 01:52) brainraider написал(а):
Итак, я разобрался, всем спасибо за помощь и подсказки.

Готовый вариант тут: http://kdpsite.ru/?p=437

Спустя 2 часа, 1 минута, 26 секунд (17.11.2009 - 03:54) Krevedko написал(а):
ты не конкурс случаем пишешь ?
http://phpforum.ru/index.php?showtopic=22493

хотя тут без базы...


_____________
Там где есть новички, есть и двигатель прогресса!!!
Ну, если не сказать больше=)
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.