我有一个关于在表格中添加值的问题。现在我正在开发一个应用程序,您可以在其中维护一个工具车库存。
<?php
include 'dbconnect.php';
// Stock query
$sql = "SELECT * FROM product WHERE locationcode = 'loc1'";
$result = $conn->query($sql);
if ($result->num_rows > 0) {
// output data of each row
while($row = $result->fetch_assoc()) {
echo "<tr>";
echo "<td>".$row['locationcode']."</td>";
echo "<td>".$row['product_id']."</td>";
echo "<td>".$row['amount']."</td>";
}
}
else {
echo "0 results";
}
$conn->close();
我为可用产品制作的表格包括以下栏目:
- 产品编号
- 产品类型
- 品牌
- 型号
- 成本价格
- 销售价格
- 位置代码
- 金额
该工具车间的许多产品可在多个地点使用(全国各地有几家实体店)。
是否可以在列中添加多个值?这是因为客户应该能够过滤产品和相应的位置(IE。产品可以在位置1和位置2都可用)。
提前致谢!
答案 0 :(得分:2)
我强烈建议不要在列中添加多个值,例如在这里使用CSV。而是创建一个新表,比如product_locations
,其中有一列用于产品ID,另一列用于位置ID。
例如,如果产品1仅出现在位置1,而产品2出现在位置1和2中,则表格如下所示:
ProductID | LocationID
1 | 1
2 | 1
2 | 2
请注意,如果您需要显示指定产品的所有位置,您始终可以使用GROUP_CONCAT
汇总上表,例如
SELECT ProductID, GROUP_CONCAT(LocationID) AS locations
FROM product_locations
GROUP BY ProductID