在这篇文章中,边肖给大家详细举例说明了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
以上就是服务器端编程语言(专业超文本预处理器的缩写)如何实现分页功能的详细内容,感谢大家的学习和对我们的支持。