近来看了看PHP,发现各种分页程序对于像我这样的菜鸟都不太适合!
今天自己写一个,非常简洁易懂,但至于效率就没测试过了,有兴趣的朋友可以帮忙测试后来回复我一下!好了不废话话了,开始吧:
首先要使用mysql语句里的limit,该语句的作用就是取当前数据库里记录的条数(从第几条到第几条):$sql="select * from table limit 1,10";这句的意思就是从数据库里读出的数据,从第1行开始显示(其实这里的1并不是真正的1,而是第2条数据),一共显示10条!
有了上面这条语句后,我们只需要$page(当前页数)和$amcount(数据记录总数)再加一个$totalpage(总页数)三个变量就可以搞定分页了!
首先,要得出数据记录总数($amcount):
.....
$result=mysql_query("select count(*) as amcount from table",$db);
if ($myrow=myslq_fetch_array($result)) {
$amcount=$myrow["amcount"]; //得出数据记录总数
}
接下来是定义当前页数($page) :
if (empty($_GET['page'])) {
$page=0
}
else {
$page=$_GET['page'];
if ($page<0) {
$page=0;
}
if ($page>=ceil($amcount/10)) {
$page=ceil($amcount/10)-1; //因为$page是从0开始的,所以要减去1
}
到此为此,分页的主要程序就已经结束了
下面要做的就是把读取数据的部分小改动一下就行了!
$sql="select * from table limit ".($page*10).",10";
最后就是加几个翻页链接就OK了。
<a href="?page=0">首页</a> <a href="?page=<?php echo $page-1?>">上一页</a> <a href="?page=<?php echo $page+1?>">下一页</a> <a href="?page=<?php echo ceil($amcount/10)-1?>">尾页</a>