您好我正在尝试为我的问题定义的在线商店构建一个数据库 订单可以包含许多具有不同交货日期的商品例如,1本书将需要2天才能交付另一个需要4-5天才能交付。
我有一个产品表,其中包含产品交付时间,如2-3个工作日或4-5个工作日
在我的交货表中,我将如何描述这个,因为它包含1个订单ID我可以向用户显示上限时间,如5天交货但是如何向后端用户显示2个不同的订单时间和状态1个订单
我如何将它们显示在我的交货表中,因为它们是一个订单,但具有不同的交货时间..
答案 0 :(得分:1)
这是物品和交货日期之间的1:1关系。在ITEM和DELIVERY表之间建立外键关系,或者在项目表中添加DELIVERY_DATE列。
当您认为关系在订单和交货日期之间时,困难就出现了。
您需要一种方法来汇总订单中的所有商品,以便提供整体交货日期。您可能希望让用户能够向下钻取以逐项查看详细信息。
答案 1 :(得分:1)
您可以像这样查询:
$rowset = $db->fetch_all( 'SELECT ... FROM orders
INNER JOIN products ON ...
INNER JOIN delivery ON ...
ORDER BY products.id, delivery.date
WHERE ...');
这将导致您为每个交货日期条目设置记录/行(您可以按日期对它们进行分组,或者执行类似的操作)。
然后通过以下代码浏览它们:
$productID = 0;
foreach( $rowset as $row){
if( $productID == $row.productId){
// Code for multiple dates
} else {
// Code for new item
}
$productID = $row.productId
}
这适合吗?