用户登录[codeigniter]后,数据库中的数据未显示在视图中


Data from database not showing in view after user logs in [codeigniter]

用户登录(使用codeigniter)后,它会显示一个私人区域,该区域应该显示存储在数据库中的新闻文章,但它什么也不显示。我已经尝试并测试了这个链接的url,并且只在用户登录后显示良好。任何帮助都将不胜感激。

新闻模型:

class News_model extends CI_Model {
    public function __construct() {
        parent::__construct();
    }
    function getArticle () {
        $this->db->select('*');
        $this->db->from('news');
        $this->db->order_by('id', 'DESC');
        return $this->db->get()->result_array();
    }

}

新闻总监:

class News extends CI_Controller {
    public function __construct() {
        parent::__construct();
        $this->load->model('admin/news_model');
    }
    public function index() {
        $data = array('news' => $this->news_model->getArticle());
        $data['title'] = 'Admin | News Home';
        $data['heading'] = 'News Articles';
        $this->load->view('admin/news', $data); 
}

}

新闻视图:

   <?php foreach ($news as $article): ?>
        <h2><?php echo $article['title'] ?></h2>
            <p><?php echo $article['content'] ?></p>
            <p><?php echo $article['author'] ?></p>
            <p><?php echo $article['date'] ?></p>
    <?php endforeach ?>

我尝试过通过对象和数组传递数据,但仍然没有成功。如果问题在这里,我还没有发布登录模型/视图/控制器,但如果这看起来正确,我可以发布。

任何指导都会有所帮助,因为我刚刚修复了一个错误,这已经发生了!感谢

以下是一些解决问题的代码:

public function index() {
     $data = array('news' => $this->news_model->getArticle());
     $data['title'] = 'Admin | News Home';
     $data['heading'] = 'News Articles';
     echo "<pre>";
     print_r($data);
     echo "</pre>";
     $this->load->view('admin/news', $data); 
}

上面的代码应该为您提供$data变量的结构。如果你的新闻文章没有出现,你应该回溯你的步骤,直到你找到问题的根源。