我一直在做codeigniter项目。MySQL查询根据两个不同表中的值选择一个表。
这里是我的表
category
cid cname
5 general
6 science
7 math
books
bid bname
12 first
13 second
14 third
15 fourth
16 fifth
17 sixth
dir
id bid cid
1 12 5
2 13 6
3 14 7
4 15 6
5 16 5
6 17 5
我想显示为
general 3
science 2
math 1
,我已经在模型下面的函数代码实现
function category_details(){
$this->db->order_by('cname','asc');
$query=$this->db->query('Select category.cid,category.cname,count(dir.cid) from dir join category on category.cid=dir.cid join books on dir.bid=books.bid group by category.cname');
return $query->result_array();
}
现在我想创建一个链接,打开每个类别并在里面显示书籍。
这里是我正在试图做到这一点,
View
<a href="<?php echo site_url('category/books/'.$val['cid']);?>">Open</a>
Controller
public function books($cid){
$data['books']=$this->books_model->get_books($cid);
$this->load->view('header',$data);
$this->load->view('category_books',$data);
$this->load->view('footer',$data);
}
Model
function get_books($cid){
$this->db->where('dir.cid',$cid);
$query=$this->db->query('select * from books join dir on books.bid=dir.bid join category on dir.cid=category.cid');
return $query->result_array();
}
但是,这导致选择所有的书籍,而不是根据$ CID我通过(虽然我可以看到在传递$ CID URL)。
希望有任何帮助。