Перейти к публикации

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


Рекомендованные сообщения

Может кто сможет усовершенствовать код постраничной навигации

выглядит постраничная навигация так - если новости постоянно растут и образуется порядка 100 страниц.

Это что будет выводится 100 чисел и внутрених ссылок на странице перевалит за сотню.

<? echo $myrow["text"];

$result77 = mysql_query("SELECT str FROM options", $db);

$myrow77 = mysql_fetch_array($result77);

$num = $myrow77["str"];

// Извлекаем из URL текущую страницу

@$page = $_GET['page'];

// Определяем общее число сообщений в базе данных

$result00 = mysql_query("SELECT COUNT(*) FROM data_s WHERE cat='$cat'");

$temp = mysql_fetch_array($result00);

$posts = $temp[0];

// Находим общее число страниц

$total = (($posts - 1) / $num) + 1;

$total = intval($total);

// Определяем начало сообщений для текущей страницы

$page = intval($page);

// Если значение $page меньше единицы или отрицательно

// переходим на первую страницу

// А если слишком большое, то переходим на последнюю

if(empty($page) or $page < 0) $page = 1;

if($page > $total) $page = $total;

// Вычисляем начиная с какого номера

// следует выводить сообщения

$start = $page * $num - $num;

// Выбираем $num сообщений начиная с номера $start

$result = mysql_query("SELECT

id,mini_img,title,description,view FROM data_s WHERE

cat='$cat'ORDER BY id DESC LIMIT $start, $num ",$db);

<?php

// Проверяем нужны ли стрелки назад

if ($page != 1) $pervpage = '<a href=view_cat_s.php?cat='.$cat.'&page=1>Первая</a> | <a href=view_cat_s.php?cat='.$cat.'&page='. ($page - 1) .'>Назад</a> | ';

// Проверяем нужны ли стрелки вперед

if ($page != $total) $nextpage = ' | <a href=view_cat_s.php?cat='.$cat.'&page='. ($page + 1) .'>Следующая</a> | <a href=view_cat_s.php?cat='.$cat.'&page=' .$total. '>Конец</a>';

// Находим две ближайшие станицы с обоих краев, если они есть

if($page - 5 > 0) $page5left = ' <a href=view_cat_s.php?cat='.$cat.'&page='. ($page - 5) .'>'. ($page - 5) .'</a> | ';

if($page - 4 > 0) $page4left = ' <a href=view_cat_s.php?cat='.$cat.'&page='. ($page - 4) .'>'. ($page - 4) .'</a> | ';

if($page - 3 > 0) $page3left = ' <a href=view_cat_s.php?cat='.$cat.'&page='. ($page - 3) .'>'. ($page - 3) .'</a> | ';

if($page - 2 > 0) $page2left = ' <a href=view_cat_s.php?cat='.$cat.'&page='. ($page - 2) .'>'. ($page - 2) .'</a> | ';

if($page - 1 > 0) $page1left = '<a href=view_cat_s.php?cat='.$cat.'&page='. ($page - 1) .'>'. ($page - 1) .'</a> | ';

if($page + 5 <= $total) $page5right = ' | <a href=view_cat_s.php?cat='.$cat.'&page='. ($page + 5) .'>'. ($page + 5) .'</a>';

if($page + 4 <= $total) $page4right = ' | <a href=view_cat_s.php?cat='.$cat.'&page='. ($page + 4) .'>'. ($page + 4) .'</a>';

if($page + 3 <= $total) $page3right = ' | <a href=view_cat_s.php?cat='.$cat.'&page='. ($page + 3) .'>'. ($page + 3) .'</a>';

if($page + 2 <= $total) $page2right = ' | <a href=view_cat_s.php?cat='.$cat.'&page='. ($page + 2) .'>'. ($page + 2) .'</a>';

if($page + 1 <= $total) $page1right = ' | <a href=view_cat_s.php?cat='.$cat.'&page='. ($page + 1) .'>'. ($page + 1) .'</a>';

// Вывод меню если страниц больше одной

if ($total > 1)

{

Error_Reporting(E_ALL & ~E_NOTICE);

echo "<div class=\"pstrnav\">";

echo $pervpage.$page5left.$page4left.$page3left.$page2left.$page1left.'<b>'.$page.'</b>'.$page1right.$page2right.$page3right.$page4right.$page5right.$nextpage;

echo "</div>";

}

?>

Как сделать чтобы был пропуск?

например

Назад 1 2 3 4 5 ... 161 Далее

Материальная благодарность (сколько?)

Ссылка на сообщение
Поделиться на других сайтах

что то я не видел, что бы 150 страниц было и каждая выводилась. :) Прпуск у вас по умолчанию получится, когда количествор страниц будет большим. Не занимайтесь ерундой, а то найдете на свою голову на кого-нибудь, кто деньги возьмет а ничего не сделает, потому что это по умолчанию фукнкция работает.

Ссылка на сообщение
Поделиться на других сайтах

alex32,

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

Ссылка на сообщение
Поделиться на других сайтах
У автора темы сторонний код, который он указал в теме и для которого он и просит сделать.
Хм, соори, сразу не обратил внимания.
Ссылка на сообщение
Поделиться на других сайтах

Присоединяйтесь к обсуждению

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

Гость
Ответить в тему...

×   Вставлено в виде отформатированного текста.   Вставить в виде обычного текста

  Разрешено не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отобразить как ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставить изображения напрямую. Загрузите или вставьте изображения по ссылке.

×
×
  • Создать...