PHP/MySQL订单项目与配件表
问题描述:
编辑,请看最后一段。PHP/MySQL订单项目与配件表
我建立一个具有以下表格和示例数据的订购系统:
-
产品
- ID:1,名称:喇叭,价格:£ 12.00
- id:2,名称:麦克风,价格:£4.00
-
订单
- ID:1,日期:2011-01-01
-
Orders_items
- ID:1,ORDER_ID:1,PRODUCT_ID:1,数量:2
- ID:2,ORDER_ID:1,PRODUCT_ID:2,数量:1
-
配件
- ID:1,名称:电缆
- ID:2,名称:麦克风支架
- ID:3,命名:扬声器支架
-
Link_table
- ID:1,PRODUCT_ID:1,ACC_ID:1,Qty_ship:2
- ID:2,PRODUCT_ID:1,ACC_ID:3,Qty_ship: 1
- ID:3,PRODUCT_ID:2,ACC_ID:2,Qty_ship:1
目前,我使用P HP while
可以编写包含订单项的表格(无附件)。
现在对于这个问题:我想输出到使用PHP的表格,该表格检索行项目以及该项目的附件。就像挑选清单一样。
Order 1
Qty Name Price Accessories
1 Speaker £12.00 2 x Cable
1 x Speaker stand
1 Mic £ 4.00 1 x Mic stand
这可能吗?我可以考虑的唯一方法是在while语句中添加mysql_query
,该语句在订单项正在写入时查看附件。
我猜我在问什么。
SELECT * FROM Order_items WHERE Order_id = 1
然后在每一行结束时,我想包括配件
SELECT Qty_ship, Acc_id FROM Link_table WHERE Product_id = [NUMBER]
结果可以这样做从数据库中的一个查询?
答
您可以在Link_table和Accessories上执行左连接,然后按照product_id进行排序。
在您的while循环中,只需跟踪product_id在回显产品名称时是否更改。顺便说一句:你不需要Link_table的id字段,只需将product_id和acc_id作为主键即可。
好的,谢谢Christian。现在看看它,看看我能否得到它的工作。在PHP中调用时可以使用这种方法吗? – Phil 2011-12-22 09:12:45