[英]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.