1

私はこれらすべてに慣れていません。

これは私の最初の問題です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

購入日と合計金額を表示したい。これは、生徒 ID によって選択される最新の order_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'];

これは、生徒 ID に関連付けられている最後の注文 ID 行が表示されるかどうかを確認するためのテストですが、すべての行を取得してテーブルに配置するにはどうすればよいですか?

4

1 に答える 1

0

あなたは実際にここで2つの質問をしています:

  1. 購入日と合計金額を表示したいのですが…。
  2. すべての行を取得してテーブルに配置する方法

集合価格を取得するには、テーブルを結合してデータベースから行うことができます。すでにそれを行っていますが、アイテムをグループ化するために必要な合計価格を作成するための合計を取得します。次のようなクエリが必要です。

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 テーブル内に書き出す必要があります。

于 2013-03-08T18:04:40.163 に答える