garygay 发表于 2009-10-29 23:04:46

数据无法转到view中,附代码

本帖最后由 garygay 于 2009-10-29 23:27 编辑

MODEL
function category(){
   $query = $this->db->query("SELECT * FROM category");
   return $query->result();
}
Controller
function getcategory(){
   $this->load->Model('Newsmodel');
   $data['category']=$this->Newsmodel->category();
   $this->load->view('header',$data);
}
view
<ul>
   <?foreach($category as $row):?>
   <li><?=$row->name?></li>
   <?endforeach;?>
</ul>
浏览后,显示A PHP Error was encountered
Severity: Notice
Message: Undefined variable: data
Filename: views/header.php
Line Number: 9
A PHP Error was encountered
Severity: Warning
Message: Invalid argument supplied for foreach()
Filename: views/header.php
Line Number: 9


应该是无法把值传到view里面了,那么究竟错在哪里呢?如何调试?

jansky 发表于 2009-10-29 23:39:56

本帖最后由 jansky 于 2009-10-29 23:41 编辑

回复 1# garygay

<ul>
   <?foreach($category as $row):?>
   <li><?=$row->name?></li>
   <?endforeach;?>
</ul>


你的model中与view 名称不一致,$category应该是 $query

应该如下:
<ul>
   <?foreach($query as $row):?>
   <li><?=$row->name?></li>
   <?endforeach;?>
</ul>

visvoy 发表于 2009-10-30 00:00:40

Filename: views/header.php
Line Number: 9

请贴出第九行附近的代码

lamtin 发表于 2009-10-30 00:10:28

沙发那位兄弟不对吧...
$category那没错...

乌有 发表于 2009-10-30 01:38:18

二楼要求合理.

kazaff 发表于 2009-10-30 08:49:00

小弟我测试了一下,错误应该不是这个问题,我这边传递OK

heraldic 发表于 2009-10-30 09:36:53

$this->load->database()应该调用了吧?

Hex 发表于 2009-10-30 10:42:38

$data['category']=$this->Newsmodel->category();
这行的 $data 要写成 $data = array('category' => xxxxxx);

kazaff 发表于 2009-10-30 21:36:29

是么?还有这个规则?

garygay 发表于 2009-10-31 00:47:08

疯了,应该是逻辑问题

代码并没有错呢

多谢各位的帮助!!:dizzy:

好好规划 重新做过了
页: [1] 2
查看完整版本: 数据无法转到view中,附代码