如何在codeIgniter

时间:2016-10-01 14:54:49

标签: php mysql

我在mysql中有一个数据库,它有2个表,一个名为category(cat_id主键),另一个名为book(b_id作为主键),其中cat_id是book的外键。 我在CI工作,在这里我在视图中输出类别:

        foreach($categories->result()as $row){
             foreach($categories->result()as $row){
        echo '<a href="category_details?cat_id=$cat_id">'.$row->category.'</a><br>';

    }

        }

点击链接category_details时,我想要输出该类别的图书。 我在控制器中有这个方法:

public function category_details($data)
    {
        $data['cat_id'] = $this->home_model->output_cat_detail();
        $data['category_detail'] = $this->home_model->output_cat_detail();//printon librat
        $data['categories'] = $this->home_model->output_categories();
        $this->load->view('header', $data);
        $this->load->view('category_details', $data);


    }

因此,进行该选择的模型中的方法是这样的:

public function output_cat_detail(){
    $condition = "cat_id =" . "'" . $data['cat_id'] . "'";
    $this->db->select('*');
    $this->db->from('book');
   $this->db->where($condition);
    $query = $this->db->get();
    return $query;

但是当我点击一个类别后,当我执行此操作时,所有书籍不仅仅出现在我点击的那个类别的书籍中。有人可以帮助我选择那个类别的书吗?

1 个答案:

答案 0 :(得分:0)

public function category_details($id){
    $data = array();
    $data['category_detail'] = "";
    $query = $this->db->get_where('book', array('id' => $id));
    // Your current model logic will not work for this
    if($query->num_rows() > 0){
        $data['category_detail'] = $query->result();
    }
    $this->load->view('header', $data);
    $this->load->view('category_details', $data);
}