我想從表中循環記錄字段。我在查詢和GROUP BY中使用LEFT JOIN來防止結果中出現雙循環。查詢是成功的,但這樣的結果:我不能從表中使用GROUP BY的循環記錄
===========================================
|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框架。
這是我的觀點:
<table class='table table-bordered'>
<thead>
<tr>
<td>No</td>
<td>Lokasi</td>
<td>Alamat</td>
<td>Telepon</td>
<td>Kompetensi</td>
</tr>
</thead>
<?php
$i = 0;
foreach ($row as $row) {
$i++;
echo"<tr>
<td>".$i."</td>
<td>".$row->nama_sekolah."</td>
<td>".$row->alamat."</td>
<td>".$row->no_telp."</td>
<td><ol>
<li>".$row->nama_jurusan."</li>
</ol>
</td>
</tr>";
}
?>
</table>
這裏是模型:
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();
}
請幫助我。謝謝!
可以使用GROUP_CONCAT函數 –
@Chetan Ameta確定虐待嘗試 – Yoshioka