PHP分页初探 一个最简单的PHP分页代码实现

PHP分页代码在各种程序开发中都是必须要用到的,在网站开发中更是必选的一项。

要想写出分页代码,首先你要理解SQL查询语句:select * from goods limit 2,7。PHP分页代码核心就是围绕这条语句展开的,SQL语句说明:查询goods数据表从第2条数据开始取出7条数据。在分页代码中,7表示每页显示多少条内容,2通过公式计算表示翻页数,通过传入不同参数替换“2”的值,即可筛选出不同的数据。

index.php:

include ‘conn.php‘;  //引入数据库操作类

$conn=new conn();  //实例化数据库操作类

$total=$conn->getOne(‘select count(*) as total from goods‘);
$total=$total[‘total‘]; //goods表数据总数据条数
$num=6; //每页显示条数
$totalpage=ceil($total/$num);   //计算页数
if(isset($_GET[‘page‘]) && $_GET[‘page‘]<=$totalpage){//这里做了一个判断,若get到数据并且该数据小于总页数情况下才付给当前页参数,否则跳转到第一页
    $thispage=$_GET[‘page‘];
}else{
    $thispage=1;
}
<br>//注意下面sql语句中红色部分,通过计算来确定从第几条数据开始取出,当前页数减去1后再乘以每页显示数据条数
$sql=‘select goods_id,goods_name,shop_price from goods order by goods_id limit ‘.<span style="color: #ff0000;">($thispage-1)*$num</span>.‘,‘.$num.‘‘;

$data=$conn->getAll($sql);

foreach($data as $k=>$v){
    echo ‘<li>‘.$v[‘goods_id‘].‘、‘.$v[‘goods_name‘].‘---¥‘.$v[‘shop_price‘].‘</li>‘;
}
<br>//显示分页数字列表
for($i=1;$i<=$totalpage;$i++){
    echo ‘<a href="?page=‘.$i.‘">‘.$i.‘</a> ‘; 

}

上述代码实现了一个最简单的PHP分页效果:

仅实现点击翻页数字显示不同的翻页数据,可以在此基础上进一步完善,只要基础原理理解后,后续工作就比较容易开发了。

conn.php代码:

/*
*连接数据库 进行相关查询操作
*/

class conn{

    public function __construct(){
        include_once(‘config.php‘);
        try{
            $this->pdo = new PDO(‘mysql:host=localhost;dbname=test‘, ‘root‘, ‘123456‘);
            $this->pdo->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
            $this->pdo->exec(‘set names utf8‘);

        }catch(PDOException $e){
            echo ‘数据库连接失败:‘.$e->getMessage();
            exit();
        }
    }

    //获取一行数据
    public function getOne($sql){
        $rs=$this->pdo->query($sql)->fetch(PDO::FETCH_ASSOC);

        return $rs;
    }

    //获取多行数据结果
    public function getAll($sql){
        $rs=$this->pdo->query($sql)->fetchall(PDO::FETCH_ASSOC);

        return $rs;

    }
}

 conn.php功能是完成数据库连接,并实现取出数据操作方法,这里我使用的是pdo,这里可以根据大家习惯来组织代码。

config.php:

/*
*配置数据库信息
*/

$cfg_dbhost=‘localhost‘;
$cfg_dbname=‘test‘;
$cfg_dbuser=‘root‘;
$cfg_dbpw=‘123456‘;
时间: 2024-12-24 02:56:55

PHP分页初探 一个最简单的PHP分页代码实现的相关文章

PHP分页初探 一个最简单的PHP分页代码的简单实现

PHP分页代码在各种程序开发中都是必须要用到的,在网站开发中更是必选的一项. 要想写出分页代码,首先你要理解SQL查询语句:select * from goods limit 2,7.PHP分页代码核心就是围绕这条语句展开的,SQL语句说明:查询goods数据表从第2条数据开始取出7条数据.在分页代码中,7表示每页显示多少条内容,2通过公式计算表示翻页数,通过传入不同参数替换"2"的值,即可筛选出不同的数据. index.php: ? 1 2 3 4 5 6 7 8 9 10 11 1

Struts分页的一个实现

在Web应用程序里,分页总让我们开发人员感到很头疼,倒不是因为技术上有多么困难,只是本来和业务没有太多关系的这么一个问题,你却得花不少功夫来处理.要是稍不留神,时不时出点问题就更郁闷了.我现在做的一个项目也到了该处理分页的时候了,感觉以前处理得都不好,所以这次有所改变,基本目标是在现有(未分页)的代码基础上,尽量少做修改,并且同样的代码可以应用于不同模块的分页.以下就是我用的方法: 首先,考虑分页绝大多数发生在列表时,组合查询时也需要用到.在我的项目里,列表的Action一般名字为ListXXX

简单的beego分页功能代码

一个简单的beego分页小插件(源代码在最下面): 支持条件查询 支持参数保留 支持自定义css样式 支持表/视图 支持参数自定义 默认为pno 支持定义生成链接的个数 使用方式: 1)action中,引入包,然后如下使用: /** * 日志列表 */ func (this *LogController) List() { pno, _ := this.GetInt("pno") //获取当前请求页 var tlog []m.Tb_log var conditions string =

一个极为简单的requirejs实现

require和 sea的源码分析,我之前的博客有写过, 今天我想分享的是一个很简单的核心代码(不带注释和空行大概60行), 没有容错判断. require.js require函数实现用一句话概括: 依次加载require的模块,然后监测script的onload事件,判断所有模块加载成功,执行require的callback, 如果只带一个参数且不是数组,就是加载成功后return 模块. 1 //标记已经加载成功的个数 2 var REQ_TOTAL = 0; 3 //模块导出 4 win

[编译] 1、第一个makefile简单例子

前言 本篇用一个最简单的例子引入makefile,教你编写第一个makefile 正文 在Download/aa文件夹下有a.c和makefile文件 1 [email protected]:~/Downloads/aa$ ls 2 a.c makefile 其中a.c为: 1 #include<stdio.h> 2 int main() 3 { 4 int i,j; 5 for(i=0;i<10;i++) 6 { 7 for(j=2*i+1;j>0;j--) 8 { 9 prin

打造支持apk下载和html5缓存的 IIS(配合一个超简单的android APP使用)具体解释

为什么要做这个看起来不靠谱的东西呢? 由于刚学android开发,还不能非常好的熟练控制android界面的编辑和操作,所以我的一个急着要的运用就改为html5版本号了,反正这个运用也是须要从server获取大量数据来展示在手机上面的,也就是说:必须联网,才干正常工作,于是想了一下,反正都要联网获取数据,为什么不直接用我相对熟悉一点的 html来做这个运用呢?省的花费不够用的时间去学习android界面的控制,于是就简单了:用蹩脚的手段做了一个android程序的启动欢迎界面,内页就是一个全屏的

基于php的一个最简单的memcache的分布式算法

首先,核心函数是这个 function mHash($key){ $md=substr(md5($key),0,8); $seed=31; $hash=0; for($i=0;$i<8;$i++){ $hash=$hash*$seed+ord($md5{$i}); } return $hash & 0x7FFFFFFF; } class HashServer{ private $serverlist; private $issorted=false; function addServer($

一个最简单的Socket通信例子

所谓socket通常也称作"套接字",用于描述IP地址和端口,是一个通信链的句柄.应用程序通常通过"套接字"向网络发出请求或者应答网络请求.  Socket和ServerSocket类库位于java.net包中.ServerSocket用于服务器端,Socket是建立网络连接时使用的.在连接成功时,应用程序两端都会产生一个Socket实例,操作这个实例,完成所需的会话.对于一个网络连接来说,套接字是平等的,并没有差别,不因为在服务器端或在客户端而产生不同级别.不管是

[.NET] 打造一个很简单的文档转换器 - 使用组件 Spire.Office

打造一个很简单的文档转换器 - 使用组件 Spire.Office 目录 Spire.Office 介绍 库引用 界面预览 代码片段 Spire.Office 介绍 关于 Spire.Office,它是一个专门为开发人员创建,读取,写入设计的库,转换和从打印 word 文档文件.作为一个独立的 .NET组件,它不需要在机器上安装微软的 Word 等办公软件.然而,它可以将微软的“文档创建功能”集成到任何开发人员的网络应用程序中.它是一个可靠的 MS Word 的API,可以执行许多Word文档处