【php】php如何实现分页功能

page.php:

<?php
function page($total_records,$page_size,$page_current,$url,$keyword){
	$total_pages=ceil($total_records/$page_size);
	$page_previous=($page_current<=1)?1:$page_current-1;
	$page_next=($page_current>=$total_pages)?$total_pages:$page_current+1;
	$page_next=($page_current==0)?1:$page_next;
	$page_start=($page_current-5>0)?$page_current-5:0;
	$page_end=($page_start+10<$total_pages)?$page_start+10:$total_pages;
	$page_start=$page_end-10;
	if($page_start<0) $page_start=0;
	if(empty($keyword)){
		$navigator="<a href=$url?page_current=$page_previous>上一页</a> ";
		for($i=$page_start;$i<$page_end;$i++){
			$j=$i+1;
			$navigator.=" <a href='$url?page_current=$j'>$j</a> ";
		}
		$navigator.=" <a href=$url?page_current=$page_next>下一页</a>";
		$navigator.="<br/>共".$total_records."条记录,共".$total_pages."页,当前是第".$page_current."页";
	}
	else{
		$keyword=$_GET["keyword"];
		$navigator="<a href=$url?keyword=$keyword&page_current=$page_previous>上一页</a> ";
		for($i=$page_start;$i<$page_end;$i++){
			$j=$i+1;
			$navigator.="<a href='$url?keyword=$keyword&page_current=$j'>$j</a>";
		}
		$navigator.="<a href=$url?keyword=$keyword&page_current=$page_next>下一页</a>";
		$navigator.="<br/>共".$total_records."条记录,共".$total_pages."页,当前是第".$page_current."页";
	}
	echo $navigator;
}
?>

在需要分页的页面中国加入头文件(路径每个人不一样)

include_once("../functions/page.php");

数据库语句:

//构造查询所有新闻的SQL语句
get_connection();
$search_sql="select * from books,category where books.category_id=category.category_id order by book_id";
//分页的实现2
$result_news=mysql_query($search_sql);
$total_records=mysql_num_rows($result_news);
//分页的实现1
$page_size=10;
if(isset($_GET["page_current"])){
	$page_current=$_GET["page_current"];
}
else{
	$page_current=1;
}
$start=($page_current-1)*$page_size;
$search_sql="select * from books ,category where books.category_id=category.category_id order by book_id limit $start,$page_size";
$result_set= mysql_query($search_sql);
close_connection();

在页面最后加上分页导航栏:

  <!-- 分页 -->
		<center>
		<?php
//打印分页导航条
$url=$_SERVER["PHP_SELF"];
page($total_records,$page_size,$page_current,$url,$keyword);
?>
</center>

功能实现~

发布了31 篇原创文章 · 获赞 21 · 访问量 8413

猜你喜欢

转载自blog.csdn.net/weixin_42366630/article/details/103877860