0

PHPでレポートを作成しています。20 以上の店舗の注文データを含むデータベースがあります。店舗を表示するテーブルを作成し、店舗番号の後の行にデータをリストしたいと考えています。while ループでこれを実行しようとしています。唯一の問題は、各ストアに複数のエントリがあることです。レポートに店舗を 1 回だけ表示したい。現在、ループしてすべての店舗をリストし、通過して再度リストします。店舗番号のデータを一度だけ取得する方法が必要であることはわかっています。while ループの代わりに、これに対するより良い解決策はありますか?

    if ($store_number == '[All_Stores]'){
    $store_query = mysql_query('SELECT * FROM `Orders` WHERE `StoreNumber` <> "0"');
    while($store_row = mysql_fetch_array($store_query)){
        #$store_number = $store_row['StoreNumber'];
        echo    "<tr>";
        echo    "<td align=\"center\"><strong>" . $store_row['StoreNumber'] . "</strong></td>";
and a bunch more data afterwards

何度も繰り返されることを除いて、これと同様の結果が生成されます。

http://i.imgur.com/9FzZ8Gp.png

4

2 に答える 2

1

まず、店舗番号で注文します(店舗名があれば、より意味があります)。次に、リストをループしているときに、新しい店に出くわしたときにそれを印刷しました。新しいお店を見つけたときだけ印刷します。

$current_store = null;
while(...) {
     if($current_store != $store_row['StoreNumber']) {
         //print Store
         $current_store = $store_row['StoreNumber'];
     }
}

そのタイプのこと。

于 2013-09-22T03:37:13.177 に答える