在这篇文章中,边肖给大家详细举例说明了php是如何实现分页功能的,有需要的朋友可以借鉴一下。
分页效果在网页中很常见,但是如何才能实现分页呢?今天我们做了两个方法来实现分页效果。
首先,我们需要在数据库中准备一个表,插入数据。这些都是必要的前提条件,更不用说了,如图(库名为jereh,表名为n_content):
步骤分析:
如果需要分页,需要使用select * from tablename limit num1,num 2’;这是一个限定查询的语句,后跟两个参数,num1是要搜索的数字,num2是要搜索的信息数。例如,我想搜索两条、三条和四条数据,如下图所示:
好了,我们开始说步骤:
1、建立一个函数,用来实现限制查询的功能
首先,我们来思考一下。要实现这个功能,首先要知道当前的页数,以及一个页面上显示多少条信息要被限制。这可以通过形式参数传递。所以,
我们将pageNum设置为页数,pageSize显示一页的几段数据。在查询语句' select * from tablename limit num1,num2 '中,
Num是(pagenum-1) * pageSize,Num 2是pageSize。理解了这种关系之后,就好办了。代码如下:
//分页的功能
函数新闻($pageNum=1,$pageSize=3)
{
$ array=array();
$ coon=mysqli _ connect(' localhost ',' root ');
mysqli_select_db($coon,' jereh ');
mysqli_set_charset($coon,' utf8 ');
//限制约束显示多少条信息,后面跟两个参数,第一个是起始数,第二个是长度。
$rs='select * from n_content limit '。(($pageNum - 1) * $pageSize)。',' .$ pageSize
$r=mysqli_query($coon,$ RS);
while($ obj=mysqli _ fetch _ object($ r)){
$ array[]=$ obj;
}
mysqli_close($coon,' jereh ');
返回$ array
}
在上面的代码中,值得注意的是limit后面必须加一个空格,否则会出错。
2、建立第二个函数,用来显示总页数的函数
这个知识点没什么新意。都是之前写的知识点。看看代码就知道了。
//显示总页数的函数
函数allNews()
{
$ coon=mysqli _ connect(' localhost ',' root ');
mysqli_select_db($coon,' jereh ');
mysqli_set_charset($coon,' utf8 ');
$ RS=' select count(*)num from n _ content ';//可以显示的总页数
$r=mysqli_query($coon,$ RS);
$ obj=mysqli _ fetch _ object($ r);
mysqli_close($coon,' jereh ');
返回$ obj-num;
}
3、调用这两个函数,进行初步的处理
如果要做下一页和下一页的结果,就需要使用get方法来传递这一页的数据。然后我们在刷新页面的时候,确定get无法获取数据,就需要使用三元运算。
?服务器端编程语言(Professional Hypertext Preprocessor的缩写)
@ $ allNum=all news();
@ $ pageSize=3;//就每页显示的信息数量达成一致
@ $ pageNum=empty($ _ GET[' pageNum '])?1:$ _ GET[' pageNum '];
@ $ end page=ceil($ all num/$ pageSize);//总页数
@$array=news($pageNum,$ pageSize);
?
4、在页面进行显示
如果它显示在页面上,则需要使用foreach循环。代码很简单。请参见以下内容:
table border=' 1 ' style=' text-align:center ' cell padding=' 0 '
tr
Td号/td
Td新闻标题/td
Td源/td
Td点击率/td
Td发布日期/td
/tr
?服务器端编程语言(Professional Hypertext Preprocessor的缩写)
foreach($array as $key=$values){
回声‘tr’;
echo ' TD { $ values-id }/TD ';
echo ' TD { $ values-title }/TD ';
echo ' TD { $ values-src }/TD ';
echo ' TD { $ values-indexs }/TD ';
echo ' TD { $ values-times }/TD ';
echo '/tr ';
}
?
/表格
5、实现上一页,下一页的效果
要达到页面跳转的效果,我们需要使用A标签的href属性,写“?PageNum=. "这个pageenum是我们自己定义的。既然是get传递的,那么上一步我们已经用$_get接受了参数,那么我们只需要传递get的参数;
首页:“pageNum=1”;
上一页:' pageNum=?php echo $pageNum==1?' 1:$pageNum-1?'
下一页:' pageNum=?php echo $pageNum==$endPage?$endPage :$pageNum 1?'
End page: "pageNum=?php echo $pageNum=$endPage?”;
特别是,“pageNum=”后面不应该跟空格。代码如下:
a href='?pageNum=1' rel='外部nofollow' rel='外部“不跟随”首页/a
a href='?pageNum=?php echo $pageNum==1?1:($pageNum-1)?'rel='外部nofollow' rel='外部“不跟随”上一页/a
a href='?pageNum=?php echo $pageNum==$endPage?$endPage:($pageNum 1)?'rel='外部nofollow' rel='外部“不跟随”下一页/a
a href='?pageNum=?'php echo $endPage?rel='外部nofollow' rel='外部“不跟随”尾页/a
代码如下:
!文档类型超文本标记语言
超文本标记语言
头
meta charset='UTF-8 '
标题分页/标题
?服务器端编程语言(专业超文本预处理器的缩写)
//分页的函数
函数新闻($pageNum=1,$pageSize=3)
{
$ array=array();
$ coon=mysqli _ connect(' localhost ',' root ');
mysqli_select_db($coon,' jereh ');
mysqli_set_charset($coon,' utf8 ');
//限制为约束显示多少条信息,后面有两个参数,第一个为从第几个开始,第二个为长度
$rs='select * from n_content limit ' .(($pageNum - 1) * $pageSize).',' .$ pageSize
$r=mysqli_query($coon,$ RS);
while($ obj=mysqli _ fetch _ object($ r)){
$ array[]=$ obj;
}
mysqli_close($coon,' jereh ');
返回$ array
}
//显示总页数的函数
函数allNews()
{
$ coon=mysqli _ connect(' localhost ',' root ');
mysqli_select_db($coon,' jereh ');
mysqli_set_charset($coon,' utf8 ');
$ RS=' select count(*)num from n _ content ';//可以显示出总页数
$r=mysqli_query($coon,$ RS);
$ obj=mysqli _ fetch _ object($ r);
mysqli_close($coon,' jereh ');
返回$ obj-num;
}
@ $ allNum=all news();
@ $ pageSize=3;//约定没页显示几条信息
@ $ pageNum=empty($ _ GET[' pageNum '])?1:$ _ GET[' pageNum '];
@ $ end page=ceil($ all num/$ pageSize);//总页数
@$array=news($pageNum,$ pageSize);
?
/头
身体
表格边框=' 1 ' style=' text-align:center '单元格填充=' 0 '
tr
(美)财政部(财政部)编号/td
(美)财政部(财政部)新闻标题/td
(美)财政部(财政部)来源/td
(美)财政部(财政部)点击率/td
(美)财政部(财政部)发布日期/td
/tr
?服务器端编程语言(专业超文本预处理器的缩写)
foreach($array as $key=$values){
回声tr’;
echo ' TD { $ values-id }/TD ';
echo ' TD { $ values-title }/TD ';
echo ' TD { $ values-src }/TD ';
echo ' TD { $ values-indexs }/TD ';
echo ' TD { $ values-times }/TD ';
echo '/tr ';
}
?
/表格
差异
a href='?pageNum=1' rel='外部nofollow' rel='外部“不跟随”首页/a
a href='?pageNum=?php echo $pageNum==1?1:($pageNum-1)?'rel='外部nofollow' rel='外部“不跟随”上一页/a
a href='?pageNum=?php echo $pageNum==$endPage?$endPage:($pageNum 1)?'rel='外部nofollow' rel='外部“不跟随”下一页/a
a href='?pageNum=?'php echo $endPage?rel='外部nofollow' rel='外部“不跟随”尾页/a
/div
/body
/html
以上就是服务器端编程语言(专业超文本预处理器的缩写)如何实现分页功能的详细内容,感谢大家的学习和对我们的支持。
郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。