0

用户登录后(使用 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 ?>

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

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

4

1 回答 1

1

这是一些解决问题的代码:

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变量的结构。如果您的新闻文章没有显示,您应该回溯您的步骤,直到找到问题的根源。

于 2012-08-31T16:07:42.183 回答