php 关于thinkphp框架的问题,很基础的问题,高分求解。

thinkphp在数据库找到了多行数据后,用foreach跟volist都可以在html页面循环遍历出来,那我只需要查出一行的数据,那在html页面已经不需要遍历了,那我在后台用$xx=assign('xx,$xx'),把查出的单行数据赋值给xx,但是在html页面,用<{$xx.字段名}>想要显示出来却什么都没显示,这是为什么?我不需要遍历应该就不用foeeach跟volist遍历标签了吧?请亲们指导下我,谢谢了,请详细说明下,我刚学Thinkphp的。
最新回答
′荼糜公主﹏

2024-10-23 11:06:54

http://wenku.baidu.com/course/view/d85477a20029bd64783e2c83

学习学习教程

我给你看我做的一个CURD

index.html的内容

php代码部分:user对象,取id=1的数,数组$arr分配给data,就是html的data;好啦,你试试吧,我也新手。嘿嘿!

结果:

追问
你这个是用了volist标签,我只是显示单行的数据也需要用到volista吗?
追答

不用也行的

html中:

php中:

结果:

看看是不是你要的效果?

追问
还是不能显示哦
前台:

后台:
$m=M();
$result=$m->query("select * from tp_book where ko = 'ok'");
$this->assign('nam',$result);

如果我在前台加上volist就能显示,去掉就什么都没了
追答

你查找是这样写的呀,这我就不知到了,你看到没,我给你的第二次的查找代码和上次的是不一样的,find就是获取单条记录的,你用这个改下吧。

$m=M('Book');

$result=$m->where('ko="ok"')->find();

$this->assign('nam',$result);

$this->display();

按你的写的,你看看的行不。

还有我不是给你教程了嘛,那个可以看看!有总结的!还有去下载个手册,我也学thinkphp框架的!

你这种直接sql语句查询的我刚试了,需要volist才能输出!

我知道你的为什么不能那样显示了。看下面的截图,你得到是数据集结构不一样的原因,一个是一维的,一个是二维的!

你的.html文件里改成以下的形式:

<{$nam[0]['zz']}>;

这里的zz是表字段名吧,你自己填全吧,我不知道你的。看看是不是ok了!

避而不谈

2024-10-23 09:19:31

$xx=assign('xx,$xx');
这里应该是
$this->assign('xx',$xx);
追问
那个是我写错的,原意是('xx',$xx)                          但是在前台,不加volist标签就显示不出来
追答
如果你用的是find,可以直接写,如果用的是select或者原生的sql语句,虽然是一条数据,但是是二维数组,需要{$xx[0]['xxname']}这样才能显示出来。
要学会调试,遇到问题的时候可以在php程序中把变量打印出来看一下一般就知道是什么问题了。
孤我为王

2024-10-23 09:00:40

$xx=assign('xx,$xx')应该是两个参数吧!我咋只看到你传了一个参数呢