Php codeigniter中的未定义变量
遇到一个PHP错误Php codeigniter中的未定义变量,php,codeigniter,view,Php,Codeigniter,View,遇到一个PHP错误 Severity: Notice Message: Undefined variable: data Filename: views/body_view.php Line Number: 13 A PHP Error was encountered Severity: Warning Message: Invalid argument supplied for foreach() Filename: views/body_view.php Line Number: 13 所
Severity: Notice
Message: Undefined variable: data
Filename: views/body_view.php
Line Number: 13
A PHP Error was encountered
Severity: Warning
Message: Invalid argument supplied for foreach()
Filename: views/body_view.php
Line Number: 13
所以我在Codeigniter中遇到了这个问题
控制器:
<?php
if ( ! defined('BASEPATH')) exit ('No direct script access allowed');
class Blog extends CI_Controller {
public function __construct()
{
parent::__construct();
}
public function index()
{
echo 'Hello World!';
}
public function mat()
{
$this->load->model('materials_model');
$data = array();
$data['news'] = $this->materials_model->get();
$this->load->view('body_view',$data);
}
}
?>
型号:
<?php
if ( ! defined('BASEPATH')) exit ('No direct script access allowed');
class Materials_model extends CI_Model
{
public function get()
{
$query = $this->db->get('materials');
return $query->result_array();
}
}
?>
视图:
A.
将视图代码更改为
<?php foreach ($news as $one):?>
<?=$one['author']?>
<?php endforeach; ?>
也就是说,将视图中的$data
替换为$news
执行以下操作
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
<meta http-equiv="content-type" content="text/html; charset=iso-8859-1" />
<meta name="author" content="The Sabotage Rebellion hackers" />
<title>a</title>
</head>
<body>
<?php foreach ($news as $one):?>
<?=$one['author']?>
<?php endforeach; ?>
</body>
</html>
A.
在foreach中将$data替换为$news假设您有
$data
数组,如下所示:
$data['x'] = 1;
如果将$data
传递给视图
您可以作为
$x
访问1
,而不是$data['x']
谢谢。对不起,我疏忽了
$data['x'] = 1;