我的数据库
tabel:kt_barang
kd_kategori | nama_kategori
1 | A
2 | B
3 | C
tabel:t_barang
kd_barang | kategori
11 | 1
12 | 1
13 | 2
14 | 3
15 | 3
16 | 3
查询表
CREATE TABLE kt_barang
(`kd_kategori` int, `nama_kategori` varchar(9))
;
INSERT INTO kt_barang
(`kd_kategori`, `nama_kategori`)
VALUES
(1, ' A '),
(2, ' B '),
(3, ' C ');
CREATE TABLE t_barang
(`kd_barang` int, `kategori` int)
;
INSERT INTO t_barang
(`kd_barang`, `pnaik`)
VALUES
('11', 1),
('12', 1),
('13', 2),
('14', 3),
('15', 3),
('16', 3)
;
我的代码
$arr=array();
$qw=mysql_query("select * from kt_barang",$con);
while($h=mysql_fetch_array($qw)){
$arr[]=$h['kd_kategori'];
}
$n = 0;
$c = count($arr);
while ($n < $c) {
$a = $arr[$n];
echo "kategori :".$a ."<br>";
$q=mysql_query("select * from t_barang where kategori='$a'",$con);
while($h=mysql_fetch_array($q)){
$daftar.='
<tr>
<td>'.$h['kd_barang'].'</td>';
$daftar.='
</tr>
';
}
$n++;
}
?>
<table class="table table-striped table-hover table-bordered" border="1">
<thead>
<tr>
<th style="text-align:center;" width="100">KODE</th>
</tr>
</thead>
<tbody>
<?php echo $daftar;?>
</tbody>
</table>
输出现在仍然像这样 桌子还是一个..
kategori 1
kategori 2
kategori 3
---------------
Kode |
11 |
12 |
13 |
14 |
15 |
16 |
---------------
但我想要这个输出伙伴.. 我希望表格显示三,因为kt_barang有3,
kategori 1
---------------
Kode |
11 |
12 |
---------------
kategori 2
---------------
Kode |
13 |
---------------
kategori 3
---------------
Kode |
14 |
15 |
16 |
---------------
可能我错了,或者错误的循环?我不知道..你知道怎么解决吗?非常感谢
答案 0 :(得分:0)
可以使用一个查询
完成$q=mysql_query("select a.kd_kategori,a.nama_kategori, b.kd_barang from kt_barang as a, t_barang as b where a.kd_kategori = b.kategori";);
答案 1 :(得分:0)
我不确定你的具体问题和逻辑是什么。但只是猜猜什么是100%的错误。您正在将echo
与$daftar.='
混合。你应该选择一个。我相信$daftar.='
是更好的伎俩。如此。
while ($n < $c) {
$a = $arr[$n];
$daftar.= "kategori :".$a ."<br>";
$q=mysql_query("select * from t_barang where kategori='$a'",$con);
while($h=mysql_fetch_array($q)){
$no++;
$daftar.='
<tr>
<td style="text-align:center;">'.$h['kategori'].'</td>
<td>'.$h['kd_barang'].'</td>
<td>'.$h['nama_barang'].'</td>';
$daftar.='
</tr>
';
}
$n++;
}
$daftar.="<br><br><br>";