我想从表中循环记录字段.我在查询和GROUP BY中使用LEFT JOIN来防止结果中出现双循环.查询成功但结果如下:
=========================================== |No|Nama Sekolah|Alamat|Telepon|Kompetensi| =========================================== |1 |SMP 1 |JKT |021231 | 1.TIK1 | |2 |SMP 2 |BDG |021232 | 1.RPL1 | ===========================================
如果我不使用GROUP BY,结果将是这样的:
=========================================== |No|Nama Sekolah|Alamat|Telepon|Kompetensi| =========================================== |1 |SMP 1 |JKT |021231 | 1.TIK1 | |2 |SMP 1 |JKT |021231 | 1.TIK2 | |3 |SMP 2 |BDG |021232 | 1.RPL1 | |4 |SMP 2 |BDG |021232 | 1.RPL2 | ===========================================
我想要这样的结果:
=========================================== |No|Nama Sekolah|Alamat|Telepon|Kompetensi| =========================================== |1 |SMP 1 |JKT |021231 | 1.TIK1 | | | | | | 2.TIK2 | |2 |SMP 2 |BDG |021232 | 1.RPL1 | | | | | | 2.RPL2 | ===========================================
我使用codeigniter框架.
这是我的观点:
No | Lokasi | Alamat | Telepon | Kompetensi | ".$i." | ".$row->nama_sekolah." | ".$row->alamat." | ".$row->no_telp." |
|
";
}
?>
这是模型:
function getlokasi($jenjang){ $sql = "SELECT s.nama_sekolah, s.alamat, s.no_telp, j.nama_jurusan FROM sekolah s LEFT JOIN jurusan j ON j.id_sekolah = s.id_sekolah WHERE s.id_jenjang = '".$jenjang."' GROUP BY s.id_sekolah"; $q = $this->db->query($sql); return $q->result(); }
请帮我.谢谢!
所以基本上你想要显示ol
TKL1,TKL2.如果是第一次使用group_concat
的j.nama_jurusan
像
GROUP_CONCAT(DISTINCT j.nama_jurusan SEPARATOR ',')
在您的查询中
然后在视图中展开值,
,然后使用foreach循环将其打印出来li
只是一个猜测,希望它会有所帮助.