Ищу пагинатор, работающий без БД

tankoff
На сайте с 23.12.2010
Offline
112
1681

Не могу найти пагинатор (постраничную навигацию) для html сайта, который работает без БД. Paginator 3000 с сайта karaboz(dot)ru и ему подобные не предлагать, не подходит. Нужно простенький, что-то типа

← 1 2 3 4 5 ... 46 →

Буду благодарен за ссылку или может кто-то поделится своим. А если с FAQ, вообще отлично.

Заранее спасибо.

Слил траф (http://webmaster.leads.su/register?ref_id=6922) на 2-комнатную квартиру, машину и выиграл BMW...
C
На сайте с 21.03.2010
Offline
10
#1

Поделюсь но без FAQ. Что-то такое:

$array = explode("\r\n", $text);
$num_str=50;
@$page = $_GET["page"];

$count_str=count($array);

$total = intval(($count_str - 1) / $num_str) + 1;

$page = intval($page);
if(empty($page) or $page < 0) $page = 1;
if($page > $total) $page = $total;
$start = $page * $num_str - $num_str;
//echo $start."<br />";

for($i=$start;$i<=$start+$num_str;$i++){
$postrow[] = $array[$i];

}

// Проверяем нужны ли стрелки назад
if ($page != 1) $pervpage = "<a href=\" ./index.php?b=".$boock."&page=1\"><<</a>
<a href=\" ./index.php?b=".$boock."&page=". ($page - 1) ."\"><</a> ";
// Проверяем нужны ли стрелки вперед
if ($page != $total) $nextpage = " <a href=\" ./index.php?b=".$boock."&page=". ($page + 1) ."\">></a>
<a href=\" ./index.php?b=".$boock."&page=" .$total. "\">>></a>";


// Находим две ближайшие станицы с обоих краев, если они есть
if($page - 2 > 0) $page2left = " <a href=\" ./index.php?b=".$boock."&page=". ($page - 2) ."\">". ($page - 2) ."</a> | ";
if($page - 1 > 0) $page1left = "<a href=\" ./index.php?b=".$boock."&page=". ($page - 1) ."\">". ($page - 1) ."</a> | ";
if($page + 2 <= $total) $page2right = " | <a href=\" ./index.php?b=".$boock."&page=". ($page + 2) ."\">". ($page + 2) ."</a>";
if($page + 1 <= $total) $page1right = " | <a href=\" ./index.php?b=".$boock."&page=". ($page + 1) ."\">". ($page + 1) ."</a>";

// Вывод меню
if ($serch!==false){
echo "<p align=\"center\" style=\"margin:0\"><strong>Pages:</strong></p>";
echo "<hr>";
echo "<p align=\"center\" style=\"margin:0\">".@$pervpage.@$page2left.@$page1left."<b>".$page."</b>".$page1right.$page2right.$nextpage."</p>";
echo "<hr>";
echo "<br />";
for($i = 0; $i < $num_str; $i++){

echo $postrow[$i]."<br />";

}
// Вывод меню

echo "<p align=\"center\" style=\"margin:0\"><strong>Pages:</strong></p>";
echo "<hr>";
echo "<p align=\"center\" style=\"margin:0\">".$pervpage.$page2left.$page1left."<b>".$page."</b>".$page1right.$page2right.$nextpage."</p>";
echo "<hr>";}

Это переделаный из такого, который работал с БД.

Вот исходник http://www.php.su/articles/?cat=examples&page=062

tankoff
На сайте с 23.12.2010
Offline
112
#2

Так это для php, а мне нужно для html.

maldivec
На сайте с 04.11.2008
Offline
160
#3
tankoff:
Так это для php, а мне нужно для html.

Вы как бы соображаете, что вы вообще хотите? html - язык разметки. Какая для него еще пагинация?

Кроме как ручками написать

<a href="/page1.html">1</a>

<a href="/page2.html">2</a>

...

<a href="/page100500.html">100500</a>

вариантов нет.

C
На сайте с 21.03.2010
Offline
10
#4

tankoff, можно конечно и скрипт который пробежится по всем Вашим страницам и проставит страницы, но это уже мазохизм.

tankoff
На сайте с 23.12.2010
Offline
112
#5
maldivec:
Вы как бы соображаете, что вы вообще хотите? html - язык разметки. Какая для него еще пагинация?

Кроме как ручками написать

<a href="/page1.html">1</a>
<a href="/page2.html">2</a>
...
<a href="/page100500.html">100500</a>

вариантов нет.

Меня это устраивает, только чтобы не во всех файлах изменения вносить, а в одном, который будет выводиться через инклуд.

Тот же Paginator 3000 (ссылка) работает же на статичных html сайтах. Я не вижу проблемы, почему бы не написать такой же, но другого вида. Наверняка же есть такие.

sevan
На сайте с 03.03.2006
Offline
139
#6
tankoff:
Меня это устраивает, только чтобы не во всех файлах изменения вносить, а в одном, который будет выводиться через инклуд.

Ну так сделайте футер и в нем - пагинатор ( тьфу, слово то какое, хотя и футер тоже.. )

maldivec
На сайте с 04.11.2008
Offline
160
#7
tankoff:
Меня это устраивает, только чтобы не во всех файлах изменения вносить, а в одном, который будет выводиться через инклуд.

И что вас останавливает сделать это?

tankoff
На сайте с 23.12.2010
Offline
112
#8

sevan, maldivec, отсутствие необходимых знаний. :( Тот же Paginator 3000 я подключить могу, тем более там все просто. А вот самому сделать пока не под силу. Поэтому и ищу что-то готовое.

Mad_Man
На сайте с 10.11.2008
Offline
162
#9

Ну так сделайте на основе php, а потом соберите полученное в html.

tankoff
На сайте с 23.12.2010
Offline
112
#10
Mad_Man:
Ну так сделайте на основе php, а потом соберите полученное в html.

Я только html изучаю, а в php вообще не понимаю...

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий