你好,我正试图为一家网上商店建立一个数据库,我的问题是,订单可以包含许多不同交货日期的商品,例如,1本书需要2天才能交付,另一本需要4-5天才能交付。
我有一个产品表,其中包含产品交付时间,比如2-3个工作日或4-5个工作日
在我的送货表中,我将如何描述这个问题,因为它包含一个订单id,我可以向用户显示5天的交货上限时间,但如何向后端用户显示2个不同的订单时间和1个订单的状态?
我怎样才能把它们显示在我的送货表上,因为它们是一份订单,但交货时间不同。
发布于 2012-01-18 10:10:40
这是一个1:1的关系之间的项目和交货日期。在项目表和传递表之间建立外键关系,或者向项目表中添加DELIVERY_DATE列。
当你认为这是订单和交货日期之间的关系时,困难就来了。
您需要一种方法来卷起订单中的所有项目,以获得一个完整的交货日期。您可能希望让用户能够逐项向下钻取查看详细信息。
发布于 2012-01-18 10:34:47
您也许可以这样进行查询:
$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
}
这个合适吗?
https://stackoverflow.com/questions/8908332
复制相似问题