[英]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
產生類似於此的結果,但重復多次。
首先,我要按商店編號排序(如果有商店名稱,則更有意義)。 然后,當遍歷列表時,當我遇到新商店時,我將其打印出來。 我只有在找到新商店時才打印。
$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.