我在从数据库打印值时遇到问题.
ITEM TABLE
ITEM | COLOR | MATERIAL | DIMENSIONS | CATEGORY | QUANTITY - 01 33 05 111 12 1000.00 - 02 33 07 125 18 200.00 - 03 33 11 156 18 254.00 - 04 56 15 25 66 113.00 - 05 66 05 11 33 521.00
我正在尝试在表格中打印值(对于每种颜色的打印材料维度类别)
所以输出将是:
COLOR - > 33 MATERIAL | DIMENSION | CATEGORY | QUANTITY 05 111 12 1000.00 07 125 18 200.00 11 156 18 254.00 COLOR - > 56 MATERIAL | DIMENSION | CATEGORY | QUANTITY 15 25 66 113.00 COLOR - > 66 MATERIAL | DIMENSION | CATEGORY | QUANTITY 05 11 33 521.00
我正在使用查询
$query = "SELECT a.itemnb,b.colorname,c.materialname,d.categoryname,sum(a.quantity) as quantity FROM dbo_items a JOIN dbo_color b ON a.color=b.colorid JOIN dbo_material c on a.material=c.material JOIN dbo_category on a.category=d.categoryid GROUP BY b.colorname,";
我正在使用PDO.
$q=$conn->query($query);
现在我可以获取表中的所有值,但这实际上并不是我想要的.
<table class="table table-bordered table-striped"> <thead> <tr class="bg-primary"> <td data-field="color">COLOR</td> <td data-field="material">MATERIAL</td> <td data-field="dim">DIMENSIONS</td> <td data-field="quantity">QUANTITY</td> </tr> </thead> <tbody> <?PHP while ($r = $m->fetch()){?> <tr> <td><?=$r['colorname']?></td> <td><?=$r['materialname']?></td> <td><?=$r['categoryname']?></td> <td><?=$r['quantity ']?></td> <?PHP } ?> </tbody> </table>
我想打印第一种颜色,然后打印与该颜色相关的所有材料.
我在那里遇到麻烦,感谢任何帮助或建议?
解决方法
首先从查询中的group by子句中删除colorname字段,然后通过在查询中按colorname添加顺序来添加此列.
<table class="table table-bordered table-striped"> <thead> <tr class="bg-primary"> <td data-field="color">COLOR</td> <td data-field="material">MATERIAL</td> <td data-field="dim">DIMENSIONS</td> <td data-field="quantity">QUANTITY</td> </tr> </thead> <tbody> <?PHP $tempColor = ''; while ($r = $m->fetch()){ if($tempColor != $r['colorname']) { ?> <tr><td colspan="4">Color Name: <?=$r['colorname']?></td></tr> <?PHP $tempColor = $r['colorname']; } else { ?> <tr> <td><?=$r['colorname']?></td> <td><?=$r['materialname']?></td> <td><?=$r['categoryname']?></td> <td><?=$r['quantity ']?></td> <?PHP } } ?> </tbody> </table>
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。