如何在不创建新表或新表的情况下获取一张表中的所有产品名称

时间:2018-08-13 19:11:56

标签: php mysqli

我只想为产品名称和数量制作一张桌子,但是每次我添加新交货时,它都会创建一张桌子,这是我的屏幕截图,希望大家帮忙

Here is my problem

I want it to be like this

Here are my table and database schema

此处代码->>> 1表格ORDER.PHP
此处Code->>> 2形式ORDER.PHP

此处代码->>> 1次获取ORDER_FETCH.PHP
在这里,代码->>> 2提取ORDER_FETCH.PHP

请帮助我,谢谢你。

1 个答案:

答案 0 :(得分:0)

在查询中使用GROUP_CONCAT()获取每个订单的所有物料。

SELECT ..., GROUP_CONCAT(material, '#', quantity) AS materials
FROM ...
GROUP BY inventory_order_id

然后,当您处理该行时,可以将其爆炸并将材质和相应的属性分成两个数组。最后,您可以将这些数组中的每一个与<br>连接起来,以将它们放在表单元格的不同行上。

$materials = array();
$quantities = array();
foreach (explode(',', $row['materials'] as $material) {
    list ($name, $quantity) = explode('#'. $material);
    $materials[] = $name;
    $quantities[] = $quantity;
}
$material_html = implode('<br>', $materials;
$quantity_html = implode('<br>', $quantities;