簡體   English   中英

希望有一個while循環僅在表中顯示數據庫的存儲列表

[英]Wanting a while loop to only display a list of stores from the database in a table

我正在用php創建報告。 我有一個數據庫,其中包含20多家商店的訂單數據。 我想創建一個表來顯示商店,然后在商店編號后的后續行中列出數據。 我試圖用while循環來做到這一點。 唯一的問題是,每個商店都有多個條目。 我只希望報表一次列出商店。 當前,它遍歷並列出所有商店,遍歷並再次列出它們。 我知道必須有一種方法,使它僅將商店編號的數據提取一次。 有沒有比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

首先,我要按商店編號排序(如果有商店名稱,則更有意義)。 然后,當遍歷列表時,當我遇到新商店時,我將其打印出來。 我只有在找到新商店時才打印。

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

那種東西。

嘗試:

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

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM