Постраничнвя навигация

Печать RSS
101

Автор
[Developer]
0
Привет всем! Подскажите пожалуйста как организовать постраничную навигацию?) Заранее извините, если не туда написал... smile
Автор
[Developer]
0
Постраничная навигация нужна для гостевой
Автор
[Developer]
0
файл базы данных имеет следующии вид:
Роман:||:17.12 20:26:||:http://tiei.ru:||:Проверка...Работает?
ВаСька:||:17.12 21:12:||:http://test.com:||:Ураааа!!<br>Все работает!! =)

Чатланин
0
<?php
$posts = 10; # Сообщений на страницу
if (isset($_GET['start'])) {
$start = (int)$_GET['start'];
} else {
$start = 0;
}
echo '<b>Гостевая</b><br /><br />';
$file = file("file.txt");
$file = array_reverse($file); # Выводим сообщения в обратном порядке
$total = count($file);
if ($start < 0 || $start >= $total) {
$start = 0;
}
if ($start + $posts > $total) {
$end = $total;
} else {
$end = $start + $posts;
}
for ($i = $start; $i < $end; $i++) {
$data = explode(":||:", $file[$i]);
echo '<b>'.$data[0].'</b> ('.$data[2].')<br />';
echo '<div>'.$data[3].'</div><b>'.$data[1].'</b><br /><br />';
}
echo '<hr />';
if ($start != 0) {
echo '<a href="book.php?start='.($start - $posts).'&amp;"><-Назад</a> ';
}else {
echo '<-Назад';
}
echo ' | ';
if ($total > $start + $posts) {
echo '<a href="book.php?start='.($start + $posts).'&amp;">Далее-></a>';
} else {
echo 'Далее->';
}
echo '<hr />';
echo 'Всего сообщений: '.$total.'<br />';
?>
Автор
[Developer]
0
тема больше не актуальна . разобрался сам.

Чатланин
0
вот те почти готовая гостевая с постраничной навигацией smile

Добавлено через 01:19 сек.
пиз*ец. не мог раньше написать??? а то как я написал, сразу не актуальна cry

Граф Озриор
0
Fatal error: Allowed memory size of 134217728 bytes exhausted (tried to allocate 100 bytes) in Z:\home\test10\www\index.php on line 9

бгг
Автор
[Developer]
0
Просто ждал ждал ответа...а нифига не писали) пришлось самому разбирать ... так сказать вникать в тонкости)))
CUl5-AJIb9lHC, спасибо все равно)))

Чатланин
0
7. Apollo, у меня нормально все

Добавлено через 01:14 сек.
и ошибка страная какая-то obana

2000 лет д.н.э.
0
<?php

function navi(
$self, // страница (url)
$total, // количество записей
$page, // текущая страница
$step // записей на страницу
){
$return.='<b>Страницы:</b> ';
if($page>0){ $return.='<a href="'.$self.'page='.($page - $step).'&amp;'.SID.'"><b>«</b></a>';
}else{ $return.='<span class="navithis">«</span>';} // вперед

if($total>0){
$ba=ceil($total/$step);
$ba2=$ba*$step-$step;

$asd=$page-($step*3);
$asd2=$page+($step*4);
if($asd<$total && $asd>0){ $return.='<a href="'.$self.'page=0&amp;'.SID.'">1</a><span class="navithis">&larr;</span>'; }
for($i=$asd; $i<$asd2;){
if($i<$total && $i>=0){
$ii=floor(1+$i/$step);
if($page==$i){ $return.='<span class="navithis">'.$ii.'</span>';
}else{
$return.='<a href="'.$self.'page='.$i.'&amp;'.SID.'">'.$ii.'</a>'; }}
$i=$i+$step; }
if($asd2<$total){ $return.='<span class="navithis">&rarr;</span><a href="'.$self.'page='.$ba2.'&amp;'.SID.'">'.$ba.'</a>'; }}

if($total > $page + $step){ $return.='<a href="'.$self.'page='.($page + $step).'&amp;'.SID.'"><b>»</b></a>';
}else{ $return.='<span class="navithis">»</span>'; } // назад
return '<div class="navi">'.$return.'</div>';
}
?>
Стикеры / Теги / Правила / Топ тем / Топ постов / Поиск