Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/codeigniter/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/angularjs/24.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 消息:未定义变量:数据_Php_Codeigniter - Fatal编程技术网

Php 消息:未定义变量:数据

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>&

当我尝试在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><?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';