特定数据不会出现在codeigniter中

Har*_*jan 0 php codeigniter

我正在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)

现在请告诉我哪里出错了.

amd*_*amd 5

您的错误是您正在设置$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)

  • 在你的视图中你应该使用`$ news`而不是`$ data ['news']`,`var_dump($ news)`帮助你 (2认同)