thinkphp3.2.3 查询时使用where+select查询出来的比find查询多一个空数组
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了thinkphp3.2.3 查询时使用where+select查询出来的比find查询多一个空数组相关的知识,希望对你有一定的参考价值。
第一张图为find()查询结果,第二张为where+select的查询结果
find() 这个函数是只查一个,tp会只返回第一条数据。select() 这个一般反悔的是多条数据,即使你limit 为1,tp 默认返回的是一个数组。 参考技术A select 可以查到多个结果 如:id 1 和2 参考技术B find()是按条件查询出一条数据
select() 是按条件查询出所有符合条件的数据,并存入一个数组中返回,即使只有一条数据符合条件,也会存入数组中. 参考技术C 这样吧,我通俗一点回答。
find()返回的是一维数组
select()返回的是多维数组 参考技术D find() 这个函数是只查一个,tp会只返回第一条数据。
select() 这个一般反悔的是多条数据,即使你limit 为1,tp 默认返回的是一个数组。
如果你还有不懂得可以去后盾人看视频学习
thinkphp自带的分页 查询数据时怎么使用where条件
参考技术A1.如果是POST方式查询,如何确保分页之后能够保持原先的查询条件呢,我们可以给分页类传入参数,方法是给分页类的parameter属性赋值
$count = $User->where($map)->count();// 查询满足要求的总记录数$Page = new \\Think\\Page($count,25);// 实例化分页类 传入总记录数和每页显示的记录数
//分页跳转的时候保证查询条件
foreach($map as $key=>$val)
$Page->parameter[$key] = urlencode($val);
$show = $Page->show();// 分页显示输出
2.如果是GET查询方式,将查询条件传给where
$User = M('User'); // 实例化User对象
// 进行分页数据查询 注意page方法的参数的前面部分是当前的页数使用 $_GET[p]获取
$list = $User->where($where)->order('create_time')->page($_GET['p'].',25')->select();
$this->assign('list',$list);// 赋值数据集
$count = $User->where('status=1')->count();// 查询满足要求的总记录数
$Page = new \\Think\\Page($count,25);// 实例化分页类 传入总记录数和每页显示的记录数
$show = $Page->show();// 分页显示输出
$this->assign('page',$show);// 赋值分页输出
$this->display(); // 输出模板
以上是关于thinkphp3.2.3 查询时使用where+select查询出来的比find查询多一个空数组的主要内容,如果未能解决你的问题,请参考以下文章