php pdo查询sqlserver,php pdo sqlserver分页sql的处理
今日弄了点小东西,需要做一个sqlsrv的分页函数
最后也没弄成,算了,干脆有些东西写死了...
pdo_exequery为自己弄的一个pdo的查询封装函数
主要是基于这个处理:
preg_replace("/(t|T)(o|O)(p|P])\s\d{1,12}/","","select top 100 *");
首先要接收pageid及pagesize
if(isset($_GET["pageid"]))$intCurrentPage = $_GET["pageid"];
else
$intCurrentPage = 1;
$intPageSize = 20;
然后
设置一个分页时一个基准的orderid
$orderbyid="FItemID";
然后构建一个SQL用于获得总行数且包含分页的处理
$curcuror=$intCurrentPage*$intPageSize;
$SQL="select top $curcuror a.FNumber,a.FItemID,a.FName,a.FModel,d.fname as measureunits,e.fname as secmeasureunits from ".$tablename." a left join t_MeasureUnit d on a.FUnitID=d.FMeasureUnitID left join t_MeasureUnit e on a.FSecUnitID=e.FMeasureUnitID where 1=1 ";
然后进行替换,查询总行数
$newSQL=preg_replace("/(t|T)(o|O)(p|P])\s\d{1,12}/","",$SQL);
$ROW=pdo_exequery($pdo_msconnection,$newSQL);
$inumber=0;
if($ROW)$inumber=count($ROW);
最后是进行SQL的处理
if($intCurrentPage ==null)$intCurrentPage=1;
$intRecordTotal = $inumber;
if($intCurrentPage!="all"){
$intPageCount = intval(($intRecordTotal-1) / $intPageSize)+1;
if($intPageCount==0)$intPageCount=1;
if ($intCurrentPage > $intPageCount) {$intCurrentPage = $intPageCount;}
$intStart = $intPageSize * ($intCurrentPage - 1);
$offset=$intPageSize*($intCurrentPage-1);
if ($offset<0){$offset=0;}
//主要在于这里,进行了分页的SQL合并
$SQL="select * from (select top $intPageSize * from ($SQL)o1 order by $orderbyid desc)o2 order by $orderbyid asc";
}
else
{
$intCurrentPage=1;
$intPageCount=1;
}
$ROW=pdo_exequery($pdo_msconnection,$SQL);
$inumber=0;
if($ROW)$inumber=count($ROW);
此处即可进行数据的处理了
缺陷在于只能进行一个order by的处理,如果有其他需要,依样画葫芦,应该是没问题的
php pdo查询sqlserver,php pdo sqlserver分页sql的处理相关推荐
- PHP pdo查询sqlite,PHP PDO 操作 sqlite数据库 案例
PHP PDO 操作 sqlite数据库 案例 1.需求: 已知: 1).一个json文件,里面是一个二维数组,数组解析出来为: array ( 0 => array ( 'title' =&g ...
- mysql pdo查询语句,PHP PDO准备语句 – mysql LIKE查询
这是我的第一篇文章Overflow,但我发现现有的知识体系非常有帮助.无论如何,这里是我的问题: 我试图做一个搜索通过php的PDO类(mysql驱动程序).我有以下查询使用mysql客户端(表名改为 ...
- php pdo 查询语句,PHP PDO准备的语句-MySQL LIKE查询
我正在尝试通过php的PDO类(mysql驱动程序)进行搜索.我在MySQL客户端上使用以下查询(更改表名以保护无辜者): SELECT hs.hs_pk, hs.hs_text, hs.hs_ ...
- sql server与oracle的分页,详解SQLServer和Oracle的分页查询
不管是DRP中的分页查询代码的实现还是面试题中看到的关于分页查询的考察,都给我一个提示:分页查询是重要的.当数据量大的时候是必须考虑的.之前一直没有花时间停下来好好总结这里.现在又将Oracle视频中 ...
- sqlserver+go(gin 框架) 分页查询
使用方法: page, _ := strconv.Atoi(c.DefaultPostForm("page", "1")) // 页码 起始页为1limit, ...
- SQL快速入门、查询(SqlServer)[郝斌SqlServer完整版]
文章目录 SQL学前导图 一 .基本信息 1 相关名词 数据库相关基本概念:字段.属性.记录(元祖).表.主键.外键 2 基本语句 3 约束:主键约束.外键约束.check约束.default约束.唯 ...
- pdo mysql防注入_Php中用PDO查询Mysql来避免SQL注入风险的方法
当我们使用传统的 mysql_connect .mysql_query方法来连接查询数据库时,如果过滤不严,就有SQL注入风险,导致网站被攻击,失去控制.虽然可以用mysql_real_escape_ ...
- php mysql PDO 查询操作的实例详解
php mysql PDO 查询操作的实例详解 ? 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 ...
- php$this-conn可以不先定义吗,CodeIgniter 是不是支持PDO 查询?还是本来就不支持
CodeIgniter 是否支持PDO 查询?还是本来就不支持? 本帖最后由 default7 于 2014-11-15 19:34:55 编辑 配置CodeIgniter 的database 连接方 ...
- Oracle、DB2、SQLSERVER、Mysql、Access分页SQL语句梳理
最近把平时在项目中常用到的数据库分页sql总结了下.大家可以贴出分页更高效的sql语句. sqlserver分页 第一种分页方法 需用到的参数: pageSize 每页显示多少条数据 pageNumb ...
最新文章
- 网友评选2020年人生十大遗憾,考好大学列在第一
- 一文看懂全球半导体格局
- 算法导论之每对顶点间的最短路径
- c语言实现排列组合:实现matlab中的nchoosek函数
- ASP将查询数据导出EXCEL
- weevely-------linux中的菜刀(转载)
- jmap, jhat, jvisualvm:java堆内存对象分析利器
- 微信iOS版内测暗黑模式;涉嫌恶意举报,社交平台Soul运营合伙人被批捕;AWS推出基于Linux开源操作系统 | 极客头条...
- 世界计算机模拟 波粒,光的波粒二象性的计算机模拟.pdf
- spring对redis的操作
- ECMAScript 5 —— 基本包装类型之String(下)
- 群晖nas存储系统原理_群晖NAS入门教程第四节:群晖存储空间管理员功能和磁盘阵列类型的简介...
- 在线播放m3u8和ts的方法
- Python爬取天堂网图片
- 深眸分享——一文看懂倍频器的原理及其应用
- 2021年山东省安全员C证模拟考试及山东省安全员C证作业模拟考试
- Multi class ovr or ovo
- 【目标检测竞赛总结】IEEE UV 2022 “Vision Meets Algae” Object Detection Challenge
- js gbk与UTF8 转换
- C#WinForm实现对Excel的数据处理
热门文章
- 安装MYSQL出现checking for termcap functions
- 关于母板页中runnat=server 窗体标记的问题
- 将图片上传到数据库 因File.Open遭遇System.UnauthorizedAccessException
- node.js环境搭建超详细图文教程
- linux网络防火墙-iptables基础详解
- faster rcnn源码阅读笔记2
- day-1 用python编写一个简易的FTP服务器
- 初步了解python
- MySQL如何使用索引 较为详细的分析和例子
- 关于sql server 代理(已禁用代理xp)