登录  /  注册

php与mysql实现分页的示例

黄舟
发布: 2017-11-11 10:15:25
原创
990人浏览过

我们都知道php分页的实现,都需要配合数据库里面的数据, 才能够实现效果,在前面的文章中我们也给大家简单的说了一下,那么php+mysql到底是如何实现分页效果的呢,今天就带大家一起了解下!

mysql里将数据分页显示的语句是:limit  5,1。5表示检索开始位置,1表示显示1页

所以在php中要实现上一页,下一页就要传一个数据page给limit,就可以分页。

可以理解为三个步骤:

1) 连接数据库,在前端将数据显示出来 ;

2)从前端传page(页码值)给php,这里也要判断符合范围内的页码:就是不小于1,不大于总页数;

3)php获得页码,做出判断,进行相应-+操作,改变limit值。

ps:数据都是已经在数据库中建好的,这里php只负责连接。

首先要知道如何在前端显示数据库中的信息:

php文件:

//连接数据库:
$link = mysqli_connect("localhost","root","123456","test") or die ("错误:连接数据库失败");   //一次为:服务器,用户名,密码,库名
mysqli_query($link,"set names 'utf8'"); //输出的编码方式,这句一定要有。

//连接表:
$sql = "SELECT * FROM wordspace WHERE sa_id IS NOT NULL";   //mysql查询语句
$sqlcount = mysqli_query($link,$sql) or die ("查询失败");  //将其输出.
$info = mysqli_fetch_ array($sqlcount);
while($info){
	$result[ ] = $info;  //传值给一个数组
}

mysqli_free_result($info);  //查询完后要释放该表
mysqli_close($link);  //关闭数据库
登录后复制

将刚才获取数据库的数组显示在前端。

<table border="1">
	<tr>
		<td>id</td>
		<td>Price</td>
		<td>customer</td>
	</tr>
<!---用php将数据显示-->
	<?php foreach($result as $val)   {?>
	<tr>
		<td><?php echo $val[&#39;id&#39;];?></td>
		<td><?php echo $val[Price&#39;];?></td>
		<td><?php echo $val[&#39;customer&#39;];?></td>
	</tr>
	<?php  }  ?>
</table>
登录后复制

将表的数据显示出来以后,在此基础上实现分页。

添加上一页,下一页连接,在此要做一个判断,使得传过去的值符合要求:

<!--显示首页和上一页的条件-->
<?php if($page > 1)  {?>        
	<a href="?page=1">首页</a>
	<a href="?page=<?php echo $prevpage;">上一页</a>
<?php  }  ?>

<!--显示下一页和尾页的条件-->
<?php if($page < $ numpages)  {?>
	<a href="?page=<?php echo $nextpage;?">下一页</a>
	<a href="?page=<?php echo $numpages;?>尾页
<?php  }  ?>
登录后复制

php中连接数据库的语言要改动下:

//获取总记录数:
$sqls  = "SELECT COUNT(*)  as totalFROM wordspace where sa_id  IS NOT NULL";
$sqlcount = mysqli_query($link,$sqls) od die("查询失败");
$pagecount  = mysqli_fetch_array($sqlcount);
$pagecount = $pagecount[&#39;total&#39;];
mysqli_free_result($sqlcount);   //查询完记得释放空间
//获取页数,判断是否符合要求
$page = intval($_GET[&#39;page&#39;]);
if($page <=0) {$page= 1;}
elseif($page > $pagecount){ $page = $pagecount; }

//定义每页显示的页数:
$pageshow = 5;
$pagesize = ($page-1) * $pageshow;
//计算总页数:
$numpages = ceil($pagecount/$pageshow);   //向上取整;

//连接要显示的数据库
$sql = "SELECT * FROM wordcpace where IS NOT NULL limit $pagesize,$pageshow";
$sqlinfo = mysqli_query($sql);
$pide = mysqli_fetch_array($sqlinfo)or die("分页查询失败");
while($pide){
	$result[ ] = $pide;
}
登录后复制
$prevpage = $page - 1;
登录后复制
$nextpage = $page + 1;
登录后复制
mysqli_free_result($sqlinfo);
musqli_close($link);  //最后要关闭数据库
登录后复制

总结:

看完是不是觉得php分页很简单呢,就是先把数据从数据库提取出来展示,然后在进行传值,判断的一系列操作,当你掌握了要领,一切都不是难题,希望对你有所帮助!

相关推荐:

php分页类的实现


php分页的实现原理


php实现分页效果的示例


怎么写PHP分页代码

以上就是php与mysql实现分页的示例的详细内容,更多请关注php中文网其它相关文章!

智能AI问答
PHP中文网智能助手能迅速回答你的编程问题,提供实时的代码和解决方案,帮助你解决各种难题。不仅如此,它还能提供编程资源和学习指导,帮助你快速提升编程技能。无论你是初学者还是专业人士,AI智能助手都能成为你的可靠助手,助力你在编程领域取得更大的成就。
相关标签:
来源:php中文网
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
最新问题
关于CSS思维导图的课件在哪? 课件
凡人来自于2024-04-16 10:10:18
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习
PHP中文网抖音号
发现有趣的

Copyright 2014-2024 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号