一个关于thinkphp条件查询的问题!!!
先上代码吧:$where=array('id'=>$_GET['id']);$Mains=M('Mains');$list=$Mains->where($where)->...
先上代码吧:$where=array('id'=>$_GET['id']); $Mains=M('Mains'); $list=$Mains->where($where)->select(); $this->assign('list',$list); $this->display();上面是控制器的代码,我是想读取id等于$_GET['id']这条数据的所有字段,请问哪里有问题,我在模板页用{$list.description}和<input type="hidden" value="{$list.id}" name="id" />为什么读取不了数据,麻烦高手帮下忙,搞死都搞不出来,哎!!!
展开
2个回答
展开全部
这个原因是因为你查询的值和你输出的不匹配,你看你查询$list=$Mains->where($where)->select();后面用的select(),select()返回的是一个数组,你输出必须用volist循环,你把这个改成
$list=$Mains->where($where)->find();就可以了,
或者你
<volist name="list" id="vo">
{$vo.description}和<input type="hidden" value="{$vo.id}" name="id" />
</volist>
建议你改成find(),呵呵希望可以帮助到你
$list=$Mains->where($where)->find();就可以了,
或者你
<volist name="list" id="vo">
{$vo.description}和<input type="hidden" value="{$vo.id}" name="id" />
</volist>
建议你改成find(),呵呵希望可以帮助到你
更多追问追答
追问
对了,find()函数是读取单条数据吧?
追答
恩是的,这个东西看看那thinkphp手册就知道了,呵呵
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
$list=$Mains->where($where)->select();
返回的是一个二维数组
你可以
<volist name="list" id="li">
{$li.description}
<input type="hidden" value="{$li.id}" name="id" />
</volist>
又或者
$list=$Mains->find($_GET['id']); //这里它自动查询主键的
返回的是一个二维数组
你可以
<volist name="list" id="li">
{$li.description}
<input type="hidden" value="{$li.id}" name="id" />
</volist>
又或者
$list=$Mains->find($_GET['id']); //这里它自动查询主键的
更多追问追答
追问
哦,这样啊,看来我理解错了,我以为$_GET['id']接受的是一条指定的数据,所以认为不要加循环,呵呵。
追答
是指定一条
$list=$Mains->where($where)->select();
这样查出来的话还可以
{$list[0]['description']}
因为是二维数组
find返回的是一维数组
可以直接
{$list.description}
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询