thinkphp原生态mysql分页_在ThinkPhp 中使用原生的 带条件查询 + 分页

首先需要一个搜索的表单

//跳转到处理页面

//搜索的类型

全部类型

条件1

条件2

//处理的页面

//  获取到查询的条件

$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");

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值