我目前正在开发一个订购系统,客户可以订购许多物品。我还有一个管理员,他/她可以看到当天的所有订单。管理员可以查看客户的名称,总应付款,产品和客户订购的产品数量。
我当前正在使用我的查询查看此结果。
Name | Payable | Product | Quantity
Test | 165 | keychain | 3
Test | 165 | Tumbler | 1
Miguel | 525 | Keychain | 3
Miguel | 525 | Magic Mug | 3
Dandel | 1010 | keychain | 3
Dandel | 1010 | T-shirt | 2
Dandel | 1010 | Keychain | 3
Dandel | 1010 | Mug | 5
这是我的问题。
$result = mysql_query("
SELECT reservation.firstname, reservation.lastname, reservation.payable, reservation.city, orders.product, orders.qty, reservation.date
FROM orders
INNER JOIN reservation
ON orders.confirmation = reservation.confirmation
WHERE reservation.date = CURDATE() && reservation.city = '24th Floor'
");
while($row = mysql_fetch_array($result))
{
echo '<tr>';
echo '<td style="border: 1px solid black;">'.$row['firstname'].'</td>';
echo '<td>'.$row['payable'].'</td>';
echo '<td>'.$row['product'].'</td>';
echo '<td>'.$row['qty'].'</td>';
echo '</tr>';
}
我想得到这样的结果。我该怎么做?
Name | Payable | Product | Quantity
Test | 165 | keychain | 3
| | Tumbler | 1
Miguel | 525 | Keychain | 3
| | Magic Mug | 3
Dandel | 1010 | keychain | 3
| | T-shirt | 2
| | Keychain | 3
| | Mug | 5
2条答案
按热度按时间mcdcgff01#
您可以在迭代时保持某种状态,以跟踪当前行是否是新名称/名称:
注意,mysql查询应该有一些
ORDER BY
子句生成所需的顺序,例如。正如上面的评论所建议的,如果您使用的是不推荐使用的phpapi,那么您应该考虑升级到更现代的版本。但是,上述循环中使用的逻辑不会随着mysql api的更改而有太大变化。
whlutmcx2#
您必须为name&payable column设置标志,并使用array\u column()、array\u unique()获取唯一的列值: