Постраничная навигация php
Постраничная навигация используется наверное на каждом сайте. Она позволяет разбить большой массив данных на порции-то есть, например, разбить 1000 статей на 10 страниц по 100 штук на каждой. Польза от этого большая. При использовании постраничной навигации снижается нагрузка на базу данных, повышается удобство восприятия информации посетителем сайта-а посещаемость-это один из важнейших показателей эффективности сайта. В данной статье мы будем делать навигацию на стороне сервера.
Ну и сам код постраничной навигации. Будем выводить по 10 записей на страницу.
Подразумевается что соединение с БД уже установлено.
$sum = 10; // число записей на странице
$result = mysql_query("SELECT count(*) as a from 'table name'");
$arr = mysql_fetch_row($result); // возвращает неассоциативный массив
$rec = $arr[0]; // общее число записей в таблице
// если страница существует, выводим её,иначе первую
if(isset($_GET['p'])){
$str = (int)$_GET['str'];
}
else{
$str = 0;
}
// получем номер начальной записи страницы
$start = $str * $sum;
// запрос
$r = mysql_query("SELECT * FROM data LIMIT $start, $sum");
$n = mysql_num_rows($r); // возвращаем число строк результата запроса
// если страница не первая, выводим ссылку НАЗАД
if ($str > 0)
{
$p = $str - 1;
echo "<a href=viewpost.php?p=$p>НАЗАД</a>";
}
$str++; // увеличиваем переменную $str на единицу;
// выводим ссылку на следующие пять записей, если она есть,
// то есть число записей, которые нужно вывести,
// и смещение не превышает общего числа записей
if($start + $n < $rec)
echo "<a href=viewpost.php?p=$str>ДАЛЕЕ</a>";
// выводим записи
for ($i = 0; $i < $n; $i++)
{
$myrow = mysql_fetch_array($r);
printf ("<h1>%s</h1><p>%s</p>",$myrow["title"],$myrow["description"]);
}
Вот и всё. Подгоняйте данный скрипт под свой сайт и данные
Комментарии:
Нету комментариев для вывода...