我是这个有员工名单的客户,他想要显示同一类别的所有员工(在组中),如果我无法解释,我很抱歉,我会尝试解释
----------------------------
id | e_id | e_pos | e_name
-----------------------------
1 | 142 | dev | abc
2 | 143 | sr.dev | bac
3 | 144 | intern | jlk
4 | 145 | dev | jlsd
5 | 146 | dev | asdf
6 | 147 | sr.dev | adsc
7 | 148 | intern | mlkn
8 | 149 | sr.dev | vjll
9 | 150 | dev | knmk
10 | 151 | dev | jlkm
----------------------------
如何显示输出
Number of dev(5)
1) abc
2) jlsd
3) asdf
4) knmk
5) jlkm
Number of intern(2)
1) jlk
2) mlkn
Number of sr.dev(3)
1) bac
2) adsc
3) vjll
现在问题是我已经尝试了这段代码
$this->db->select('e_id,e_pos,e_name');
$this->db->group_by('e_pos');
$query = $this->db->get('emp'); // table name
if($query->num_rows() > 0)
{
return $query->result();
}
但是上面的代码不起作用,它只是显示dev和dev的数量,我希望看到所有的dev数据。
dev
我正在使用Codeigniter 2.2.0
答案 0 :(得分:0)
您可以使用此CI代码获取您的数据(此link上的详细文档):
$query = $this->db->query("YOUR QUERY");
然后传入以下查询:
select test.e_pos, test.e_name, inn.cnt
from test
inner join
(SELECT e_pos, e_name, count(e_pos) as 'cnt'
FROM `test`
group by e_pos ) inn on test.e_pos = inn.e_pos
order by test.e_pos
您将获得这样的表格,然后您可以迭代以显示结果:
foreach ($query->result() as $row)
{
// echo data as desired
}