本文展示了PHP MYSQL的分页是如何操作的。内容简洁易懂,一定会让你眼前一亮。希望通过这篇文章的详细介绍,你能有所收获。
写php是一件简单的事情,但是分页会困扰我弟弟很长一段时间。
因为手边有这么多书.我看不懂,但也说不清楚。
虽然这个技巧对于行家来说很简单,但对于初学者来说,它会困扰相当长一段时间。
如果你也是初学者,相信这篇文章能给你一点收获。
开始
想要达到分页的效果,首先要想好,闭上眼睛。
分隔页面需要哪些信息?
1您必须首先决定每页需要多少条数据($pagesize ),然后除以这些数据得到页数。
2数据总数是多少?($total)如果没有分红,就说明没有分红,而且只是白送。
当我们想要改变页面时,我们必须告诉程序我们想要改变到哪个页面($ p)。
关系型数据库
有了以上三个,除了13个是自己决定的,2个必须从数据库中计算。
关键的诀窍在于SQL的语法,它是有限度的。
它的用法是。
限制起始位置,取数据号。
所以我们直接用它的起始位置来获取我们页面的信息,取的数据数量是我们定义的每页几笔。
例子
假设有8条数据,我们希望每3条数据分页一次,SQL语法如下:
第1页==取出0、1和2三个笔画。
从表格限制0,3中选择*。
第二页==拿出3、4、5支笔。
从表格限制3,3中选择*。
第3页==取出了三支笔6、7和8,但由于信息不足,实际只取出了两支笔6和7。
从表格限制6,3中选择*。
观察和计算。
通过上面的例子,我们应该在计算页数之前先计算总数据。
总数
这个部分是从数据库中知道的,所以可以使用以下方法。
$ result=MySQL _ query('从表中选择* ');//获取所有数据的语法。
$ total=MySQL _ num _ rows($ result);//获得的数据总数。
83=2.2
这里我们可以使用php函数ceil,
它的函数可以计算出大于这个数的最小整数(浮点数,带小数位)。
因此,总页数为$ total pages=ceil($ total/$ page size);
分页开始
在排序之前,我们必须在页码上决定一个变量,这里默认为$p。
另外,我习惯于从0开始计数页数,也就是说,
$ p=0-gt第1页,从第0个笔画开始,算法-gt $ p-gt $ p * $ page size-gt0 * 3=0 * 3=0。
$ p=1-gt第2页,从第三笔开始,算法-gt $ p-gt $ p * $ page size-gt1 * 3=3 * 3=3。
$ p=2-gt第3页,从第6笔开始,算法-gt $ p-gt $ p * $ page size-gt2 * 3=6 * 3=6。
如果要从1开始,可以,但在使用中需要减去1。
$ p=1-gt第1页,从第0个笔画开始,算法-gt ($ p-1) * $ pagesize-gt0 * 3=0。
$ p=2-gt第2页,从第三笔开始,算法-gt ($ p-1) * $ pagesize-gt1 * 3=3。
$ p=3-gt第3页,从第6个笔画开始,算法-gt ($ p-1) * $ pagesize-gt2 * 3=6。
接下来,我们来看看语法。
第1页==$p=0,取出0、1、2三笔。
从表格限制0,3中选择*。
从表格限制$p *$pagesize、$pagesize中选择*。
第二页==$p=1,拿出3、4、5支笔。
从表格限制$p* $pagesize、$pagesize中选择*。
第3页==$p=2,取出6、7、8三笔。
从表格限制6,3中选择*。
从表格限制$p* $pagesize、$pagesize中选择*。
上面提到的分页语法如下。
从表格限制$p* $pagesize、$pagesize中选择*。
转到指定页面。
此外,我们如何给程序分页的页面$p?
一般来说,$p的值是通过链接传递进来的。
第1页
第2页
第3页
..
.
当然,你可以用其他方式来做.但这里我就不细说了。
[@more@]
练习
然后展示一个完整的代码流,让大家知道整个流程:
?
$ page size=2;//决定每页的笔数。
$link=mysql_connect ('server ',' account ',' password ')或die('无法连接!请联系管理员!”);
//连接到数据库主机。
Mysql_select_db('数据库',$link)或die('无法连接到数据库!请联系管理员!”);
//选择数据库。
$ result=MySQL _ query('从表中选择* ');
/////////////先取所有数据,用它来计算总数。
$ total=MySQL _ num _ rows($ result);
/////////////////计算并获得数据总数。
Echo“事务总数”。共计美元;
$ total pages=ceil($ total/$ page size);
回显“总页数”。$ totalpages
//计算并显示总页数。
for($ I=0;$ i $总计页数;$ I){ 0
?页
?
}
///////
$ p=$ _ GET[' p '];
if($ p==' '){ $ p=0;}
///////////////////如果没有指定页码,请从第0页开始。
$sql='从表限制中选择* '。$ p * $ pagesize。','.$ pagesize
//////////////只显示一些数据。
$ RES=MySQL _ query($ SQL);
“回声”
;
while($ row=MySQL _ fetch _ array($ RES))
{
//显示结果循环。
echo $ row[' name '];
}
?
以上内容就是PHP MYSQL分页的工作原理。你学到什么知识或技能了吗?如果你想学习更多的技能或丰富你的知识储备,请关注行业信息渠道。
内容来源网络,如有侵权,联系删除,本文地址:https://www.230890.com/zhan/35999.html