jul*_*lie 4 php arrays codeigniter function
我有两张表 - 一张包含出勤详细信息,另一张包含学生详细信息。表结构如下:
援助日期出席
1 2017-03-09 5,6,9
2 2017-04-06 12,6,10
学生 ID 姓名
约翰福音 5 章
布莱恩 6 书
9 安娜
10 马修
12 苏珊
现在,我想在视图中显示缺席者的姓名,如下所示。例如:
缺勤日期
2017-03-09 约翰·布莱恩·安娜
2017-03-06 苏珊、布莱恩、马修
我试图用 FIND_IN_SET() 来做到这一点..但似乎运气不好..有更好的方法来解决这个问题吗?
我使用了这个查询,它只回显每行中第一个 id 的名称...
$query = $this->db
->select("tbl_attendance.*,tbl_students.name")
->from("tbl_attendance")
->join("tbl_students","tbl_students.student_id=tbl_attendance.attendance")
->where('FIND_IN_SET(tbl_students.student_id, tbl_attendance.attendance)')
->GROUP_BY('tbl_students.student_id')
->get()->result_array();
Run Code Online (Sandbox Code Playgroud)
但由于每行中有三个数字用逗号分隔,我希望其余的也能得到回应。
小智 5
这有效
$query = $this->db
->select("td.Date, GROUP_CONCAT(ts.student_name SEPARATOR ',')")
->from("tbl_students AS ts")
->join("tbl_attendance AS ta","find_in_set(ts.st_id,ta.attendance)<> 0","left",false)
->get();
Run Code Online (Sandbox Code Playgroud)