tp框架下单表/多表搜索分页功能

1. 调用

$.ajax({ url: "{:U('UserCommon/search_page')}",

type: 'post',dataType: 'json', data: {'keyword':"",'page_now':2,"page_number":5}, 

 success: function (d) { console.log(d) } });

2. php里面的page方法和limit 方法

(知识点:page, limit ,table ,join ,from_unixtime,子查询)


 
M('user_order_list')->where(array('uid'=>6))->field("*,from_unixtime(cdate,'%Y-%m-%d %H:%i:%s') as ctime")
->order('id desc')->page("$page_now,$page_num")->select();


M('userOrderList a')->join('tp_business_corp_list b on a.order_id=b.order_id')->where(array('a.uid'=>6))
->field("a.*,from_unixtime(b.cdate,'%Y-%m-%d %H:%i:%s') as ctime")
->order('a.id desc')->page("$page_now,$page_num")->select();


$model=new Model();
$model->table('tp_user_order_list a')->join('tp_business_corp_list b on a.order_id=b.order_id')->where(array('a.uid'=>6))
->field("a.*,from_unixtime(b.cdate,'%Y-%m-%d %H:%i:%s') as ctime")
->order('a.id desc')->page("$page_now,$page_num")->select();


$model=new Model();
$model->table(array(
    'tp_user_order_list'=>'a',
     C('DB_PREFIX').'business_corp_list'=>'b'
      ))->where("a.order_id=b.order_id and a.uid=6")
->field("a.*,from_unixtime(b.cdate,'%Y-%m-%d %H:%i:%s') as ctime")
->order('a.id desc')->page("$page_now,$page_num")->select();   //这种方法是以前找到的,后面很少用,记不大清楚,所以还有点问题






$keyword=I('post.keyword','');
$page_now=I('post.page_now',1);// 当前显示页码
$page_number=I('post.page_number',10,'intval');// 每页显示多少条
$num=($page_now-1)*$page_number;
$model=new Model();
if(empty($keyword)){
    $error='no';
    $sql="SELECT a.*,from_unixtime(a.cdate,'%Y-%m-%d %H:%i:%s') ctime,from_unixtime(a.udate,'%Y-%m-%d %H:%i:%s') utime "
        ."FROM tp_user_order_list a RIGHT JOIN (SELECT b.order_id,max(b.udate) maxdate,GROUP_CONCAT(DISTINCT b.status) status "
        ."FROM tp_user_order_list b WHERE b.order_type = '商务订单' and b.uid=".$_SESSION['uid']
        ." GROUP BY b.order_id) c ON a.order_id = c.order_id and a.udate = c.maxdate where c.status not like '%已删除%' order by a.id desc";
}else{
    $error='yes';
    $sql="SELECT a.*,from_unixtime(a.cdate,'%Y-%m-%d %H:%i:%s') ctime,from_unixtime(a.udate,'%Y-%m-%d %H:%i:%s') utime "
        ."FROM tp_user_order_list a RIGHT JOIN (SELECT b.order_id,max(b.udate) maxdate,GROUP_CONCAT(DISTINCT b.status) status "
        ."FROM tp_user_order_list b WHERE b.order_type = '商务订单' and b.uid=".$_SESSION['uid']
        ." and (order_id LIKE '%".$keyword."%' or order_state LIKE '%". $keyword."%' or order_state LIKE '%"
        .$keyword."%' or status LIKE '%".$keyword."%' or pay_state LIKE '%".$keyword."%')"
        ." GROUP BY b.order_id) c ON a.order_id = c.order_id and a.udate = c.maxdate where c.status not like '%已删除%' order by a.id desc";
}
$count=count($model->query($sql));
$list=$model->query($sql." limit $num,$page_number");
$pagetotal=ceil($count/$page_number); 
if(!empty($list)) $this->ajaxReturn(array('status'=>'yes','pagetoatl'=>$pagetotal,'page_now'=>$page_now,'msg'=>$list,'show_error'=>$error,));
else $this->ajaxReturn(array('status'=>'no','pagetoatl'=>0,'page_now'=>0,'msg'=>"您要找的内容暂时没找到",'show_error'=>$error,));



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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值