0

orders次の列を持つテーブルがあります。

-userid
-orderid (primary key)
-date
-name
-qty

したがって、すべての注文を要約ページの表に表示し、それらを各ユーザー ID の下にグループ化したいと思います。だからそれは次のようになります

Userid: 0001
| Orderid | Name   | QTY |
|  1001   | Item A | 10  |
|  1002   | Item B | 5   |

Userid: 0003
| Orderid | Name   | QTY |
|  1003   | Item C | 6   |
|  1004   | Item C | 7   |

これまでのところ、私は実験して得ました:

  1. ユーザー ID 順に並べられたすべてのアイテムを 1 つのテーブルに表示する
  2. GROUP BY ユーザー ID を使用して、異なるユーザー ID と同じ数のテーブルを作成できました

しかし、2つを組み合わせて望ましい結果を得ることができないようです。私が間違っていることについてアドバイスをいただければ幸いです。

事前に感謝します。私の説明が理にかなっていることを願っています!

4

1 に答える 1

1

PHPでこれを行う必要があると思います

クエリ

select * from orders order by userid, orderid

PHPでは、この疑似コードのようなもの

$this_user_id=0;

for (each order line)
{
get fields from db result;
if ($this_user_id!=$userid)
{
$this_user_id=$orderid// save change of userid flag
print user heading;
}

print order lines;
}
于 2013-02-17T11:50:41.693 に答える