php+mysql实现分页:上一页,下一页

news/2024/11/30 13:35:35/

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['id'];?></td><td><?php echo $val[Price'];?></td><td><?php echo $val['customer'];?></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['total'];
mysqli_free_result($sqlcount);   //查询完记得释放空间
//获取页数,判断是否符合要求
$page = intval($_GET['page']);
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);
$divide = mysqli_fetch_array($sqlinfo)or die("分页查询失败");
while($divide){$result[ ] = $divide;
}
$prevpage = $page - 1;
$nextpage = $page + 1;
mysqli_free_result($sqlinfo);
musqli_close($link);  //最后要关闭数据库


 


http://www.ppmy.cn/news/562439.html

相关文章

2023最新谷粒商城笔记之购物车篇(全文总共13万字,超详细)

购物车 环境搭建 创建购物车项目 第一步、创建gulimall-cart服务&#xff0c;并进行降版本处理 <parent><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-parent</artifactId><version>2.1.8.RELEASE<…

ThinkPHP3.2 实现分页,显示上一页和下一页

首先要搞清楚的就是ThinkPHP3.2.3的分页类已经被移到了Think\Page.class.php,这是跟以前的版本有些不一样的&#xff0c;使用起来还是跟以前版本差不多&#xff0c;但是默认的效果不敢恭维&#xff0c;所以最好是自己加些样式。 Application/Home/View/Work/works.html <!…

Web 上一页下一页 用超链接 用按钮

方法一超链接 Default.aspx.cs html代码************************************************************************************* <% Page Language"C#" AutoEventWireup"true" CodeFile"Default.aspx.cs" Inherits"_Default" %&…

python跳转下一页_用Beautifulsoup转到下一页

我对python还不熟悉&#xff0c;我已经看过一些脚本的例子。 我开始我的脚本&#xff0c;它工作得很好&#xff0c;但现在我想增加一些额外的&#xff0c;我会感谢你的帮助。在def listar_videos(url): codigo_fonte abrir_url(url) soup BeautifulSoup(abrir_url(url)) cont…

上一页、下一页功能的实现

上一页、下一页的实现思想&#xff1a; 首先是获取传输过来的ID&#xff1b; $id intval($this->_context->id); intval() 函数用于获取变量的整数值。 其次用当前的ID分别查找上个ID和下一个ID的内容&#xff1b; $previous Blog::find(id<?,$id)->order(i…

day10谷粒商城

P109测试数据 地址&#xff1a; https://raw.githubusercontent.com/elastic/elasticsearch/7.4/docs/src/test/resources/accounts.json POST bank/account/_bulk 安装分词ki yum install wget mkdir /mydata/elasticsearch/plugins/ik cd /mydata/elasticsearch/plugi…

WEB 上一页下一页

<html> <head> <title>主页</title> <meta charset"utf-8"> <script type"text/javascript" src"jquery-1.10.2.min.js"></script> </head> <body>…

大数据学习(3)

大数据学习&#xff08;3&#xff09; 1 Hive-SQL-DML语句1.1 Hive SQL Load 加载数据语句1.1.1 Load功能1.1.2 Load语法规则1.1.3 Load 语法实验1.1.3.1 Load Data From Local FS1.1.3.2 Load Data From HDFS1.1.3.3 Overwrite选项 1.2 Hive SQL Insert 插入数据语句1.3 Hive …