在兔窝儿的第27个工作日:ThinkPHP分页查询。

来源:互联网 发布:it教育培训机构 编辑:程序博客网 时间:2024/06/16 01:26

在ThinkPHP中,几乎所有的sql语句都是可以用用TP中的方法生成。

由于今天上午有些事情没有去上班,而下午大多数时间有在做上传图片的分析和代码review,导致今天写的代码不是很多。

前天用TP做了个分页查询,今天就写一下用TP做分页查询的方法。


//首先定义一个方法,为了代码的可重用性,我定义了4个参数。

//  参数A:      Model实体类的名字   =>   $modelName;

//  参数B:      查询条件的二维数组  =>   $condition;

//  参数C:      分页开始的位置          =>   $start;

//  参数D:      分页的行数                  =>   $several;

public function pagingQurey($modelName , $condition ,$start ,$several ){

//用Model实体类的名字创建实体类,这里就不赘述model的写法了。

$Model = D($modelName);

//接下来就可以直接查询了,在where中放入查询的条件,在limit中放入开始的位置和查询的行数。

$data = $Model -> where($condition) -> limit($start , $several ) -> select();

//可以根据自己的需求,加入更多的参数。

//如:

//定义排序条件的字符串为参数放入order。

//定义要查询的字段为参数放入field。

//实际上也可以把这些参数都写上,只是调用的时候麻烦一点。不过这样可以屏蔽实体类和查询条件差异。

//好像从某种程度上来讲,这是一个万能的查询方法。

//接下来就是返回数据了,为了能够明确的分辨出没有查询到和查询结果为null的区别,我们加上if语句判断。

if($data){

$this -> response(array("code" => 1 , "msg" => "查询到需要的数据" , "data" => $data),"json");

}else{

$this -> response(array("code" => 0 , "msg" => "没有查询到数据"),"json");

}


//如果不考虑重用性,可以只写分页开始的位置和行数,其他的内容查询条件、实体类、查询字段等需要的需求在方法内写出。

}



晚安Haha,晚安小公主。




0 0
原创粉丝点击