ll209 发表于 2008-7-19 11:28:40

错误处理问题

如何处理如下错误
A PHP Error was encountered
Severity: Notice

Message: Undefined variable: national

Filename: views/addmz.php

Line Number: 17

单独运行控制器调用addmz视图不报错,
在框架里运行该视图出现上面的错误.
请高手帮助.

代码如下:
<?phpif(is_array($national)) {foreach ($national as $row):?>
<?php endforeach;}?>

Hex 发表于 2008-7-19 11:49:59

运行?
这个是说你的变量未定义,也就是说视图里的这个变量你没通过 load->view() 传进去。视图里的变量“必须”通过控制器传递!!

ll209 发表于 2008-7-21 08:01:28

我是通过控制器传递的呀,通过控制器传递的数组.
代码如下:
$viewdata['national'] = $query->result();
$this->load->view('addmz',$viewdata);

yygcom 发表于 2008-7-21 09:08:11

需要通过数组传递比如
$data['aaa'] = 'test';
$this->load->view('view',$data);

在视图里面使用
<?= $aaa?>
这样就没问题了

Hex 发表于 2008-7-21 09:30:09

是的,要搞清你传递的数组的结构!

ll209 发表于 2008-7-21 10:07:57

我用了你说的方法,不好用.
我将查询结果放到数组中,然后传弟到视图中.
控制器代码:
          $this->db->select('name');
                $this->db->from('national');
                $this->db->order_by('id','desc');
                $query=$this->db->get('national');
                $viewdata['national'] = $query->result();
                $this->load->view('addmz',$viewdata);
视图:
<?=$national?>

Hex 发表于 2008-7-21 13:46:01

还是提示变量未定义??

ll209 发表于 2008-7-21 14:09:53

是啊,怎么帮呀????????????

沧蓝 发表于 2008-7-21 17:15:38

咳,确定 $query->result(); 有输出非false的内容吗?

旭日 发表于 2008-7-21 17:19:38

原帖由 沧蓝 于 2008-7-21 17:15 发表 http://codeigniter.org.cn/forums/images/common/back.gif
咳,确定 $query->result(); 有输出非false的内容吗?

没错,你把$viewdata['national'] = $query->result();打印出来看看就知道了。:-)。
页: [1]
查看完整版本: 错误处理问题