我在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;
但是当我点击一个类别后,当我执行此操作时,所有书籍不仅仅出现在我点击的那个类别的书籍中。有人可以帮助我选择那个类别的书吗?
答案 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);
}