При написании страницы списка для чтения данных часто необходимо написать код подкачки. Редактор долго изучал и много искал. Наконец, я суммировал следующий код подкачки. Друзья, нуждающиеся в этом, могут его изучить.
/**********ПагинацияStart**********/
$pageSize = 10; //Отображение количества элементов данных на странице
$result=mysql_query("select * from ".DB_PREFIX."kami_list");//Запрос общего количества страниц
$totalNum = mysql_num_rows($result); //данные Общее количество предметов
$totalPageCount = ceil($totalNum/$pageSize); //Общее количество страниц
$nowPage = isset($_GET['page']) ? intval($_GET['page']) : 1;//Номер текущей страницы
$next = $nowPage+1;//Следующая страница
$prev = $nowPage-1;//Предыдущая страница
$url = "?plugin=lantk_kami&title=".$title."&page=";
$offset = ($nowPage-1)*$pageSize;
//Начало Пагинации штрих-кода навигации:
$pagefy = "<a href=\"".$url."1\">первая страница</a>";//первая страница
$pagefy.= ($prev <= 0 ) ? "" : " <a href=\"".$url.$prev."\">Предыдущая страница</a>";//Если следующая страница больше общего количества страниц,не будет отображаться
$pagefy.= ($next > $totalPageCount) ? "" : " <a href=\"".$url.$next."\">Следующая страница</a>";//Если следующая страница больше общего количества страниц,не будет отображаться
$pagefy.= " <a href=\"".$url.$totalPageCount."\">Хвостовая страница</a>";//Хвостовая страница
//Вытаскиваем список переходов и перечисляем все номера страниц в цикле:
$pagefy.=" К третьему <select name='topage' size='1' onchange='window.location=\"$url\"+this.value'>\n";
for($pagefor=1;$pagefor <= $totalPageCount;$pagefor++){
if($pagefor==$nowPage) $pagefy.="<option value='$pagefor' selected>$pagefor</option>\n";
else $pagefy.="<option value='$pagefor'>$pagefor</option>\n";
}
$pagefy.="</select> Страниц, всего $totalPageCount Страница"; //Конец кода навигации
Метод использования также очень прост. Сначала определите переменное количество элементов данных, отображаемых на каждой странице. Значение по умолчанию — 10 элементов.
Затем определите оператор SQL «общее количество страниц запроса».
Наконец, измените числовую часть вашего оператора цикла sql на limit offset,pageSize
И распечатайте навигацию по странице $pagefy, пример:
//Ссылка на часть библиотеки данных, опущена
$sql1="SELECT * FROM ".DB_PREFIX."kami_list ORDER BY `gid` DESC limit $offset,$pageSize"; //Операция SQL-запроса, обратите внимание на два последних параметра
$list1 = $DB1->query($sql1);
while($row1 = $DB1->fetch_array($list1)){//Цикл начинается
echo '<li>'.$row1['title'].'</li>';
}//конец цикла
echo "<li>".$pagefy."</li>";//выход Пагинациянавигация