我正在codeigniter上做一些练习来从数据库中检索数据,我很成功.但是当我想获取特定字段的数据时会出现问题.检索我在本地主机上使用以下URL的特定值:
localhost/codeigniter/index.php/news/view/city-news
Run Code Online (Sandbox Code Playgroud)
新闻是控制器,视图是控制器的方法,城市新闻是参数.
这是我的控制器代码:
public function view($slug)
{
$data['news'] = $this->news_model->get_news($slug);//here i am getting the slug value.
if (empty($data['news_item']))
{
show_404();
}
$data['title'] = $data['news_item']['title'];
$this->load->view('templates/header', $data);
$this->load->view('news/view', $data);
$this->load->view('templates/footer');
}
Run Code Online (Sandbox Code Playgroud)
这个方法调用模型news_model的方法get_news($ slug).这个方法的代码是:
public function get_news($slug = FALSE)
{
if ($slug === FALSE)
{
$query = $this->db->get('news');
return $query->result_array();
}
echo $slug;//here is i m also getting the slug value.
$query = $this->db->get_where('news', array('slug' => $slug));//i think this is not working properly
print_r($query->row_array());die;//now i am getting values here.
return $query->row_array();
}
Run Code Online (Sandbox Code Playgroud)
但我的观点仍显示"未找到404页面".我的观点代码是:
<?php
echo '<h2>'.$news_item['title'].'</h2>';
echo $news_item['text'];
?>
Run Code Online (Sandbox Code Playgroud)
现在请告诉我哪里出错了.
您的错误是您正在设置$data['news']和测试$data['news_item']:
$data['news'] = $this->news_model->get_news($slug);//here i am getting the slug value.
if (empty($data['news_item'])) // <=== HERE IS THE ERROR
{
show_404();
}
Run Code Online (Sandbox Code Playgroud)