用户登录(使用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
变量的结构。如果你的新闻文章没有出现,你应该回溯你的步骤,直到你找到问题的根源。