博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
在ThinkPhp 中使用原生的 带条件查询 + 分页
阅读量:6904 次
发布时间:2019-06-27

本文共 1498 字,大约阅读时间需要 4 分钟。

  hot3.png

      首先需要一个搜索的表单        
       
//跳转到处理页面       
             
                 
             
            //搜索的类型               
             
       
            
    //处理的页面  //  获取到查询的条件            $typeid =  I('post.typeid');            $text = I('post.keyword');   // 声明一个查询变量            $where = '';     //  根据获取到的值,再判断是什么查询    if($typeid == '1'){        $where = 'WHERE id='.$text;  }elseif($typeid == '2'){        $where = 'WHERE name='.$text;}  //统计符合条件的总数据$total = M()->query("SELECT count(*) as total FROM User $where");//上面这条语句查询出来的结果是二维数组//总页码为           $maxtotal = $total[ 0 ][ 'total' ];//设置展示的条数$num = 5;  //计算出最大页码(总条数除以分页数)     ceil 为 进一取整(如  2/3  时 结果是 1.5  则最大页码是 2);$maxPage = ceil($maxtotal  /  $num);//获取页码$p = empty( I('get.p') ) ? '1' : I('get.p');//设定开始值$start = ($p -1) * $num;                 /*由于limit(n,m) 意思为读取 从第n 条数据开始读取  到 只取m条               第一页是 limit( (1-1),m);   意思是从第0条开始读取 m条                第二页 limit( (2-1) ,m );          意思是从第 1 * m 条读取 m条*/ //然后判断传的页数是否正常$p =max('1',$p);$p = min($maxPage,$p);  //执行原生的查询语句  ,拼接上查询语句,如果没有条件时$where 是空的所以不用担心查询语句出错M()->query("SELECT * FROM User $where LIMIT $start,$num");        

 

    

 

 

 

 

 

 

 

转载于:https://my.oschina.net/18y/blog/783752

你可能感兴趣的文章
码农也来关注下经济问题<美元加息>对我们的影响
查看>>
Linux用户及用户组管理
查看>>
Python随笔11
查看>>
ARTS打卡计划第三周-Review
查看>>
jQuery validation
查看>>
JavaScript知识架构学习路径(一)- 变量篇
查看>>
正则表达式
查看>>
20050425:公测啊,晚点再说
查看>>
Windows Azure媒体服务使得伦敦奥运会的云端传输成为可能
查看>>
错误:媒体集有 2 个媒体簇,但只提供了 1 个 sql2005 备份错误。
查看>>
软件运行过慢?系统打开特别慢?连系统都装不了?可能是硬盘坏了
查看>>
Mongo的安全验证
查看>>
thinkphp Class 'PDO' not found 错误
查看>>
(实用篇)PHP ftp上传文件操作类
查看>>
Lucene5.x 中文 同义词
查看>>
ASCII码、Unicode码 转中文
查看>>
矩阵的相似对角化
查看>>
java常用类--与用户互动
查看>>
innobackupex 备份数据搭建 MySQL Slave
查看>>
CentOS 6.5安装KVM虚拟化
查看>>