【发布时间】:2016-03-20 19:43:26
【问题描述】:
我想从表中循环记录字段。我在查询中使用 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 好的,我试试
标签: php mysql codeigniter loops