mysql sqlite 分页查询_php基于SQLite实现的分页功能示例
本文实例讲述了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实现的分页功能示例相关推荐
- Mybatis最入门---分页查询(逻辑分页与SQL语句分页)
[一步是咫尺,一步即天涯] 到目前为止,我们介绍的Mybatis种种查询都是一次性的查询出所有结果并返回给上层.但是,在实际开发过程中,在大量数据存在的情况下,是很少这么做的.本文,我们将从逻辑分页, ...
- php ajax mysql 分页查询_PHP中使用jQuery+Ajax实现分页查询多功能操作(示例讲解)
1.首先做主页面Ajax_pag.php 代码如下: Ajax做分页 .header{ margin-top: 20px; } 关键字: 地区代号地区名称父级代号 2.然后做分页查询JS页面Ajax_ ...
- sqlite c++插入 timestamp_Dqlite,基于sqlite 高可用(HA)数据库
原文发表于我的博客, 特此版权声明 noosphere.site: Dqlite,基于sqlite 高可用(HA)数据库 csdn : Dqlite,基于sqlite 高可用(HA)数据库 k3s之前 ...
- mysql php 连接查询_php如何连接mysql并查询数据
php连接mysql并查询数据的方法:首先创建PHP示例文件:然后通过用户名密码连接数据库:最后通过查询语句"select* from goods"进行查询即可. php连接.查询 ...
- ORACLE分页查询SQL语法——最高效的分页
--1:无ORDER BY排序的写法.(效率最高) --(经过测试,此方法成本最低,只嵌套一层,速度最快!即使查询的数据量再大,也几乎不受影响,速度依然!) SELECT *FROM (SELECT ...
- oracle spring 分页查询,SpringJDBC 调用oracle 通用存储过程分页
我博客前面有写道SpringJDBC调用通用的Oracle存储过程,今天来讲一下通用的Java存储过程带分页的功能,其中里面还有动态查询的SQL拼接,好的,先上代码 1.Java代码 @Autowir ...
- python程序实例电话本-Python基于递归实现电话号码映射功能示例
本文实例讲述了Python基于递归实现电话号码映射功能.分享给大家供大家参考,具体如下: 问题 电话按键上面的每个数字都对应着几个字母,如果按下一个数字键代表输入一个字母,那么输入一个数字组成的字符串 ...
- 递归二分法php,PHP基于二分法实现数组查找功能示例【循环与递归算法】
本文实例讲述了PHP基于二分法实现数组查找功能.分享给大家供大家参考,具体如下: 二分法.分别使用while循环的方法和递归调用的方法. // 二分法的使用数组必须是有序的,或升序,或降序 $arr ...
- php ajax mysql 分页查询_基于PHP_MySql_Ajax的分页技术方案
一.引言 Ajax的全称是AsynchronousJavaScriptAndXML(异步JavaScript和XML),它不是一项新技术,而是很多成熟的技术的集合. 和Applet,Flash相比,A ...
最新文章
- SDK与IDE的选择(附上设置默认SDK)
- robo3t设置密码链接
- 批量设置 style
- 使用Apollo通过WebSocket通过STOMP轻松进行消息传递
- python selenium循环判断元素是否存在_检查Python Selenium是否存在元素
- jmeter 压测duobbo接口,施压客户端自己把自己压死了
- redis配置主从没效果_跟我一起学Redis之加个哨兵让主从复制更加高可用
- ubuntu server安装hadoop和spark,并设置集群
- 百度百科推广大师 v1.7.6.1
- 统计一个数字在排序数组中出现的次数
- 《Reids 设计与实现》第五章 对象
- php中div重叠,div重叠问题
- 视觉平台搭建——光源选型介绍
- 使用Julia进行图像处理--图像分割
- 小红伞杀毒软件(德国的) 完全免费的 FREE
- 企业网络管理和华为企业级路由交换产品介绍
- 一个开源的会议管理系统,适合初学者练手(老司机请忽略)
- 计算机桌面性能4.4怎么办,台式CPU性能怎么看?桌面CPU天梯图2018年1月更新版 (全文)...
- mywife.cc 神一样的存在!
- java javascript数组_浅谈javascript和java中的数组