从多个表中选择并显示到表中

时间:2013-03-08 17:29:07

标签: php mysql sql select join

我对这一切都很陌生。

这是我原来的问题, 我有两个名为orderorder_items

的表
order_id--pupil_id --date_bought--total_price

1  ----1001---- 2013-03-07 23:35:49 - 1.00

order_id-- product_name

1 ------ product1

1 ------ product2

我想显示购买日期和总价格。这将是与最近的order_id一起购买的产品的某种加入声明,该订单将由学生ID选择,该声明可以在声明中由desc订购。

我不确定如何将它拼凑在一起。关于如何实现这一目标的任何想法或线索?


史蒂夫·钱伯斯让我这一刻,我得到了这个:

$query = mysql_query("SELECT *
FROM `order` o
JOIN `order_items` oi
ON o.order_id = oi.order_id
ORDER BY o.order_id DESC");

$query_assoc = mysql_fetch_array($query);

echo $query_assoc['product_name'];

echo $query_assoc['date_bought'];

echo $query_assoc['total_price'];

这是一个测试,看它是否有效它是否显示与pupil id关联的最后一个订单ID行,但是如何检索所有行并将它们放入表中?

1 个答案:

答案 0 :(得分:0)

你实际上在这里问了两个问题:

  1. 我想显示购买日期和总价格....
  2. 如何检索所有行并将它们放入表中
  3. 要获得集体价格,您可以通过将表格加在一起从数据库中执行此操作,您已经完成了这项操作,但需要获得一笔金额来计算将项目组合在一起所需的总价格。您需要一个类似的查询:

    SELECT o.order_id, o.pupil_id, o.date_bought, SUM(o.total_price) AS total_price FROM order o
    LEFT JOIN order_items oi
      ON oi.order_id = o.order_id
    GROUP BY o.order_id
    

    如果要将结果列表放在表中,则需要循环遍历结果集并在HTML表中写出。