
07.12.2009, 09:48
|
|
Постоянный
Регистрация: 29.07.2009
Сообщений: 400
Провел на форуме: 1455812
Репутация:
150
|
|
Думаю этот будет по понятней...
Результат:
PHP код:
<?php
//-------- подключаемся к Бд --------
$dblocation = "localhost";
$dbname = "lessons";
$dbuser = "root";
$dbpasswd = "toor";
mysql_connect($dblocation,$dbuser,$dbpasswd);
mysql_select_db($dbname);
//---------- Выводим данные БД ------------
echo "<center>"; //Делаем вывод по центру
$cpage = intval($_GET['page']); //Переводим параметр в числовой
$cpage < 0 ? $cpage = 0 : $cpage = intval($_GET['page']); //избавляемся от возможных отрицательных значений, ща утро и бошка не варит, вроде была стндрт. функция
$onpage = 5; //Сколько выводит на страницу
$form = $cpage * $onpage; //Вычисляем по формуле (Тек. страницу * на количество выводимых строк на страницу) получаем число для запроса к БД
$result = mysql_query("SELECT * FROM pages ORDER BY id DESC LIMIT $form,$onpage"); //Запрашиваем результат в обратном порядке (начиная со старшего id
while($row= mysql_fetch_row($result))
{
echo "[".$row[0]."] ".$row[1]."<br>";
}
//------------- Выводим ярлыки навигации -----------------------------------------
$cnt = mysql_query("SELECT count(id) FROM pages"); //определяем количество записей в таблице для составления ссылок
$res = mysql_fetch_row($cnt);
$total = floor($res[0]/$onpage); //Также вычисляем сколько у нас будет ссылок
echo $total > 4 && $cpage > 4 ? "<a href='pages.php?page=0'><small>1</small></a>... " : ''; //Тут если ссылок больше 4 и текущая страница старше 4 рисуем ссылку для самой первой страницы
for($i=$cpage-4;$i<$cpage+5;$i++) { //Тут как ты просил по 4 с каждой стороны от текуще страницы
$out = $i + 1;
if($out == $cpage+1) $out = "[<big>$out</big>]";
echo $i < 0 || $i > $total ? '' : "<a href='pages.php?page=$i'>$out</a> ";
}
echo $total > 4 && $cpage < $total - 4 && $cpage != $total ? " ...<a href='pages.php?page=$total'><small>".($total+1)."</small></a>" : ''; //Тут если ссылок больше 4 и текущая страница младше чем на 4 страницы от самой старшей - рисуем ссылку для самой последней страницы
?>
|
|
|