php源生分页代码+join连接多表

1.分页代码::
       
function getSplitPageInfo($page,$page_size){
      //参数为零则采用默认值
     $page=empty($page)||!is_numeric($page)||$page<1 ?1 :$page;
     $page_size=empty($page_size)||!is_numeric($page_size)?20:$page_size;


     $page_start=$page_size*($page-1);
    
     return ['page_start'=>$page_start,'page_size'=>$page_size];

}

 

php中分页引用例子::

    if ($data['pre']) {
            $page = getSplitPageInfo($data['page'], $data['pre']);
            $list = $goods_brand
                ->field("brand_id,brand_name")
                ->where($where)
                ->order('brand_id desc')
                ->limit($page['page_start'], $page['page_size'])
                ->select();
      
        return ['status' => true, 'list' => $list];

    }

 

2..tp5 join连接与tp3.2的差异性,tp3.2中采用on进行连接,而tp5用逗号“,”进行隔开::

 //查询
        $page = getSplitPageInfo($data['page'], $data['pre']);
        $list = Db::name('goods_declare_list')
                ->alias('g')
                ->join(Config::get('database.prefix').'goods_declare_detail gd','g.gdl_id = gd.gdl_id')
                ->join(Config::get('database.prefix').'organization o' ,' gd.CIQOrg_id = o.org_id')

            ->field('g.gdl_id,g.GoodsName,g.ShelfGName,g.BarCode,g.SKU,

           g.Brand,g.push_time,o.org_id,o.org_name,gd.CIQGoodsNo')

                ->where($where)
                ->limit($page['page_start'], $page['page_size'])
                ->order('g.push_time desc')
                ->distinct(true)

                ->select();

 

附上::模型 5.0 的模型变化是最大的,基本上模型是完全面向对象的概念,包括关联模型,模型类的后缀不再带 Model ,直接由命名空间区分,原来的 D 函数调用改为 model 函数,并且必须创建对应的模型类,例 如

3.2版本 D('User')->where(['name'=>'thinkphp'])->find();

5.0版本 model('User')->where('name','thinkphp')->find();

$admin_mod=model('对应的模型名');

数据库 5.0的数据库查询功能增强,原先需要通过模型才能使用的链式查询可以直接通过 Db 类调用,原来的 M 函数 调用可以改用 db 函数,例如::
3.2版本 M('User')->where(['name'=>'thinkphp'])->find();
5.0版本 db('User')->where('name','thinkphp')->find();
$User=db('User')

你可能感兴趣的:(php源生分页代码+join连接多表)