私はデータベースからデータを取得するためにcodeigniterでいくつかの練習をしていますが、これは成功しています。しかし、特定のフィールドのデータを取得したいときに問題が発生します。ローカルホストで次のURLを使用して特定の値を取得するには:
localhost/codeigniter/index.php/news/view/city-news
ここで、ニュースはコントローラー、ビューはコントローラーのメソッド、シティーニュースは引数です。
これが私のコントローラーのコードです:
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');
}
このメソッドは、モデル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();
}
それでも私のビューには「404ページが見つかりません」と表示されます。私のビューコードは次のとおりです。
<?php
echo '<h2>'.$news_item['title'].'</h2>';
echo $news_item['text'];
?>
今、私がどこで間違っているのか教えてください。