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

オブジェクトと配列を介してデータを渡そうとしましたが、まだ運がありません。問題がここにある場合に備えて、ログインモデル/ビュー/コントローラーを投稿していませんが、これが正しいように見える場合は投稿できます。

1つのバグを修正しただけで、これが発生したため、ガイダンスが役立ちます! ありがとうございました

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 に答える