本文实例讲述了php基于SQLite实现的分页功能。分享给大家供大家参考,具体如下:

这里操作数据库文件使用的是前面文章《PHP基于PDO实现的SQLite操作类【包含增删改查及事务等操作】》中的SQLite数据库操作类。废话不说,直接上代码:

class SqlitePage{

public function __construct()

{

$this->table_name='';

$this->tj='';

$this->page_size='';

$this->current_page='';

$this->total_page='';

include_once 'sqlite_db.php';

$this->db=new SqliteDB();//可以调用他的操作方法了

}

function entrance($table_name,$page_size,$tj='')//sql中不包含limit page_size为每页显示条数

{

// 首先获取当前页

// sql = "select * from tab where "+条件+" order by "+排序+" limit "+要显示多少条记录+" offset "+跳过多少条记录;

$this->page_size=$page_size;

$this->table_name=$table_name;

$this->tj=$tj;

$this->total_page=ceil($this->db->total($this->table_name,$this->tj)/$this->page_size);

if (!isset($_GET['page'])) {

$this->current_page=1;//如果没有page,则设置为默认第一页

}

else{

$this->current_page=$_GET['page'];

}

if ($this->current_page>$this->total_page) {//当当前页数目大于总页数,则设置当前页数为总页数

$this->current_page=$this->total_page;

}

if ($this->current_page<1) {//当当前页数目大于总页数,则设置当前页数为总页数

$this->current_page=1;

}

$tj=$this->tj.' limit '.$this->page_size.' offset '.($this->current_page-1)*$this->page_size;

$result=$this->db->query($this->table_name,$tj);

return $result;

}

function page_bar()

{

$old_url = $_SERVER["REQUEST_URI"];

$check = strpos($old_url, '?');

$pre_urls='test';

if ($check) {//如果urls中有?

if(substr($old_url, $check+1) == '')

{ //有问号,但是后面没有跟任何参数

$first_urls=$old_url.'page=1';//首页

$pre_urls=$old_url.'page='.($this->current_page-1);//上一页;

$next_urls=$old_url.'page='.($this->current_page+1);//下一页;

$end_urls=$old_url.'page='.$this->total_page;//末页

}

else {//有问号,并且有参数

if (isset($_GET['page'])) {//如果参数中包含page参数,则注销这个参数

unset($_GET['page']);

$old_url='http://'.$_SERVER['HTTP_HOST'].$_SERVER['PHP_SELF'].'?'.http_build_query($_GET);

}

$first_urls=$old_url.'&page=1';//首页

$pre_urls=$old_url.'&page='.($this->current_page-1);//上一页;

$next_urls=$old_url.'&page='.($this->current_page+1);//下一页;

$end_urls=$old_url.'&page='.$this->total_page;//末页

}

}

else{// 如果没有问号(也就是说后面没有任何参数,则直接跟)

$first_urls=$old_url.'?page=1';

$first_urls=$old_url.'?page=1';//首页

$pre_urls=$old_url.'?page='.($this->current_page-1);//上一页;

$next_urls=$old_url.'?page='.($this->current_page+1);//下一页;

$end_urls=$old_url.'?page='.$this->total_page;//末页

}

// echo $this->table_name.'table_name';

return '

【共'.$this->total_page.'页,第'.$this->current_page.'页】

首页

上一页

下一页

末页

';

}

public function get_total_page()

{

return ceil($this->total_record/$this->page_size);

}

}

// $page=new PrePage();

// $res=$page->entrance('log',10);

// echo "


";

// foreach ($res as $key => $row) {

// echo $row['urls'].'
';

// }

// echo $page->page_bar();

?>

希望本文所述对大家PHP程序设计有所帮助。

mysql sqlite 分页查询_php基于SQLite实现的分页功能示例相关推荐

  1. Mybatis最入门---分页查询(逻辑分页与SQL语句分页)

    [一步是咫尺,一步即天涯] 到目前为止,我们介绍的Mybatis种种查询都是一次性的查询出所有结果并返回给上层.但是,在实际开发过程中,在大量数据存在的情况下,是很少这么做的.本文,我们将从逻辑分页, ...

  2. php ajax mysql 分页查询_PHP中使用jQuery+Ajax实现分页查询多功能操作(示例讲解)

    1.首先做主页面Ajax_pag.php 代码如下: Ajax做分页 .header{ margin-top: 20px; } 关键字: 地区代号地区名称父级代号 2.然后做分页查询JS页面Ajax_ ...

  3. sqlite c++插入 timestamp_Dqlite,基于sqlite 高可用(HA)数据库

    原文发表于我的博客, 特此版权声明 noosphere.site: Dqlite,基于sqlite 高可用(HA)数据库 csdn : Dqlite,基于sqlite 高可用(HA)数据库 k3s之前 ...

  4. mysql php 连接查询_php如何连接mysql并查询数据

    php连接mysql并查询数据的方法:首先创建PHP示例文件:然后通过用户名密码连接数据库:最后通过查询语句"select* from goods"进行查询即可. php连接.查询 ...

  5. ORACLE分页查询SQL语法——最高效的分页

    --1:无ORDER BY排序的写法.(效率最高) --(经过测试,此方法成本最低,只嵌套一层,速度最快!即使查询的数据量再大,也几乎不受影响,速度依然!) SELECT *FROM (SELECT ...

  6. oracle spring 分页查询,SpringJDBC 调用oracle 通用存储过程分页

    我博客前面有写道SpringJDBC调用通用的Oracle存储过程,今天来讲一下通用的Java存储过程带分页的功能,其中里面还有动态查询的SQL拼接,好的,先上代码 1.Java代码 @Autowir ...

  7. python程序实例电话本-Python基于递归实现电话号码映射功能示例

    本文实例讲述了Python基于递归实现电话号码映射功能.分享给大家供大家参考,具体如下: 问题 电话按键上面的每个数字都对应着几个字母,如果按下一个数字键代表输入一个字母,那么输入一个数字组成的字符串 ...

  8. 递归二分法php,PHP基于二分法实现数组查找功能示例【循环与递归算法】

    本文实例讲述了PHP基于二分法实现数组查找功能.分享给大家供大家参考,具体如下: 二分法.分别使用while循环的方法和递归调用的方法. // 二分法的使用数组必须是有序的,或升序,或降序 $arr ...

  9. php ajax mysql 分页查询_基于PHP_MySql_Ajax的分页技术方案

    一.引言 Ajax的全称是AsynchronousJavaScriptAndXML(异步JavaScript和XML),它不是一项新技术,而是很多成熟的技术的集合. 和Applet,Flash相比,A ...

最新文章

  1. SDK与IDE的选择(附上设置默认SDK)
  2. robo3t设置密码链接
  3. 批量设置 style
  4. 使用Apollo通过WebSocket通过STOMP轻松进行消息传递
  5. python selenium循环判断元素是否存在_检查Python Selenium是否存在元素
  6. jmeter 压测duobbo接口,施压客户端自己把自己压死了
  7. redis配置主从没效果_跟我一起学Redis之加个哨兵让主从复制更加高可用
  8. ubuntu server安装hadoop和spark,并设置集群
  9. 百度百科推广大师 v1.7.6.1
  10. 统计一个数字在排序数组中出现的次数
  11. 《Reids 设计与实现》第五章 对象
  12. php中div重叠,div重叠问题
  13. 视觉平台搭建——光源选型介绍
  14. 使用Julia进行图像处理--图像分割
  15. 小红伞杀毒软件(德国的) 完全免费的 FREE
  16. 企业网络管理和华为企业级路由交换产品介绍
  17. 一个开源的会议管理系统,适合初学者练手(老司机请忽略)
  18. 计算机桌面性能4.4怎么办,台式CPU性能怎么看?桌面CPU天梯图2018年1月更新版 (全文)...
  19. mywife.cc 神一样的存在!
  20. java javascript数组_浅谈javascript和java中的数组

热门文章

  1. 机器人学一些概念2——四元数,D-H 参数
  2. pycharm中导入包失败,如何设置外部模块的路径
  3. linux 模块化编译,手把手教Linux驱动1-模块化编程 module
  4. txt php读取数组,PHP读取远程txt文档到数组并实现遍历
  5. Cpp 对象模型探索 / 编译器为对象创建缺省构造函数的条件
  6. mysql的二级分区_分布式数据库一级分区和二级分区
  7. php如何去除侧栏,设置内容区侧栏
  8. Word:段前空行不显示问题解决办法
  9. History of Microsoft Windows CE
  10. 信步漫谈之Git—环境搭建及入门