我正在用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'];
}
}
那种东西。
关于php - 希望while循环仅在表中显示数据库的存储列表,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/18939991/