Php 消息:未定义变量:数据
当我尝试在CodeIgniter中运行以下应用程序时,出现以下错误:Php 消息:未定义变量:数据,php,codeigniter,Php,Codeigniter,当我尝试在CodeIgniter中运行以下应用程序时,出现以下错误: A PHP Error was encountered Severity: Notice Message: Undefined variable: data Filename: views/blog.php Line Number: 1 我已经想了将近一个小时了,但我无法让它工作。我的观点是这样的: <?php foreach($data->result() as $row): ?> <h1>&
A PHP Error was encountered
Severity: Notice
Message: Undefined variable: data
Filename: views/blog.php
Line Number: 1
我已经想了将近一个小时了,但我无法让它工作。我的观点是这样的:
<?php foreach($data->result() as $row): ?>
<h1><?php echo $row->title; ?></h1>
<p><?php echo $row->post; ?></p>
<?php endforeach; ?>
<?php
class Blog extends CI_Controller {
public function index()
{
$this->load->database();
$data = $this->db->get('posts');
$this->load->helper('url');
$this->load->view('header');
$this->load->view('blog', $data);
$this->load->view('footer');
}
}
$data['post'] = $this->db->get('posts');
$data['data'] = $this->db->get('posts');
$this->load->view('blog', $data);
我的控制器如下所示:
<?php foreach($data->result() as $row): ?>
<h1><?php echo $row->title; ?></h1>
<p><?php echo $row->post; ?></p>
<?php endforeach; ?>
<?php
class Blog extends CI_Controller {
public function index()
{
$this->load->database();
$data = $this->db->get('posts');
$this->load->helper('url');
$this->load->view('header');
$this->load->view('blog', $data);
$this->load->view('footer');
}
}
$data['post'] = $this->db->get('posts');
$data['data'] = $this->db->get('posts');
$this->load->view('blog', $data);
有人知道如何解决这个问题吗?尝试在视图的第一行使用$blog而不是$data。
我不确定,但您将$data分配给控制器中名为blog的键…尝试在视图的第一行使用$blog而不是$data。
我不确定,但您将$data分配给控制器中名为blog的键…变量必须作为数组中的键值对传递给视图。这是解释。变量必须作为数组中的键值对传递给视图。这已经解释清楚了。您必须更改控制器和视图 通过数据发送的阵列应如下所示:
<?php foreach($data->result() as $row): ?>
<h1><?php echo $row->title; ?></h1>
<p><?php echo $row->post; ?></p>
<?php endforeach; ?>
<?php
class Blog extends CI_Controller {
public function index()
{
$this->load->database();
$data = $this->db->get('posts');
$this->load->helper('url');
$this->load->view('header');
$this->load->view('blog', $data);
$this->load->view('footer');
}
}
$data['post'] = $this->db->get('posts');
$data['data'] = $this->db->get('posts');
$this->load->view('blog', $data);
在你看来:
<?php foreach($post->result() as $row): ?>
<h1><?php echo $row->title; ?></h1>
<p><?php echo $row->post; ?></p>
<?php endforeach; ?>
codeiginter使用$data数组向视图发送变量。如果要向视图发送内容,请将$data作为$data['key']=$val放入$data 您必须更改控制器和视图 通过数据发送的阵列应如下所示:
<?php foreach($data->result() as $row): ?>
<h1><?php echo $row->title; ?></h1>
<p><?php echo $row->post; ?></p>
<?php endforeach; ?>
<?php
class Blog extends CI_Controller {
public function index()
{
$this->load->database();
$data = $this->db->get('posts');
$this->load->helper('url');
$this->load->view('header');
$this->load->view('blog', $data);
$this->load->view('footer');
}
}
$data['post'] = $this->db->get('posts');
$data['data'] = $this->db->get('posts');
$this->load->view('blog', $data);
在你看来:
<?php foreach($post->result() as $row): ?>
<h1><?php echo $row->title; ?></h1>
<p><?php echo $row->post; ?></p>
<?php endforeach; ?>
codeiginter使用$data数组向视图发送变量。如果要向视图发送内容,请将$data作为$data['key']=$val放入$data 我认为错误通知不是源于您的控制器,而是源于您的view blog.php。您忘记将$数据传递给视图。您应该将传递给视图的变量重新构造为如下内容:
<?php foreach($data->result() as $row): ?>
<h1><?php echo $row->title; ?></h1>
<p><?php echo $row->post; ?></p>
<?php endforeach; ?>
<?php
class Blog extends CI_Controller {
public function index()
{
$this->load->database();
$data = $this->db->get('posts');
$this->load->helper('url');
$this->load->view('header');
$this->load->view('blog', $data);
$this->load->view('footer');
}
}
$data['post'] = $this->db->get('posts');
$data['data'] = $this->db->get('posts');
$this->load->view('blog', $data);
我认为错误通知不是源于您的控制器,而是源于您的view blog.php。您忘记将$数据传递给视图。您应该将传递给视图的变量重新构造为如下内容:
<?php foreach($data->result() as $row): ?>
<h1><?php echo $row->title; ?></h1>
<p><?php echo $row->post; ?></p>
<?php endforeach; ?>
<?php
class Blog extends CI_Controller {
public function index()
{
$this->load->database();
$data = $this->db->get('posts');
$this->load->helper('url');
$this->load->view('header');
$this->load->view('blog', $data);
$this->load->view('footer');
}
}
$data['post'] = $this->db->get('posts');
$data['data'] = $this->db->get('posts');
$this->load->view('blog', $data);
请像这样构造你的帖子模型
public function __construct()
{
$this->load->database();
}
public function get_posts(){
$query=$this->db->get('posts');
return $query->result_array();
}
}
你的邮政管理员是这样的
public function index()
{
$data['posts']=$this->Post_model->get_posts();
$this->load->view('templates/header');
$this->load->view('posts/index.php', $data);
$this->load->view('templates/footer');
}
在您的视图文件中,以这种方式回显内容:
<?php foreach($posts as $post): ?>
<h3><?php echo $post['post_title'];?></h3>
<small><?php echo $post['post_date'];?></small>
<p><a href="<?php echo site_url('/posts/'.$post['post_title']);?>">Read more</a></p>
<?php endforeach;?>
请像这样构造你的帖子模型
public function __construct()
{
$this->load->database();
}
public function get_posts(){
$query=$this->db->get('posts');
return $query->result_array();
}
}
你的邮政管理员是这样的
public function index()
{
$data['posts']=$this->Post_model->get_posts();
$this->load->view('templates/header');
$this->load->view('posts/index.php', $data);
$this->load->view('templates/footer');
}
在您的视图文件中,以这种方式回显内容:
<?php foreach($posts as $post): ?>
<h3><?php echo $post['post_title'];?></h3>
<small><?php echo $post['post_date'];?></small>
<p><a href="<?php echo site_url('/posts/'.$post['post_title']);?>">Read more</a></p>
<?php endforeach;?>
$data未设置,是否确实设置了此变量?$data=$this->db->get'posts'$数据没有设置,你真的设置了这个变量吗?$data=$this->db->get'posts'?因此,基本上,您的答案是确认接受的答案,唯一有用的行是:$data=$this->db->get'posts';因此,基本上,您的答案是确认接受的答案,唯一有用的行是:$data=$this->db->get'posts';