在PHP中对foreach循环中的项进行分组
所以,我正在尝试制作一种用户市场类型的东西。有一个数据库item_names
,基本上描述了虚拟物品,然后有另一个表market
,当用户列出他们的一个物品时,它就会在用户-用户市场上出售。
item_name
表中引用的项目名称对其进行分组。我知道我可以做一堆if/Else语句,但这是无关的,不仅因为有很多项,还因为我会随着时间的推移添加更多项。我希望最终结果类似于
--[Water for sale]---------------------+
[50 water for sale] [20 water for sale]
[10 water for sale] [10 water for sale]
--[Chips for sale]----------------------+
[50 chips for sale] [20 chips for sale]
[10 chips for sale] [10 chips for sale]
等等,都是动态完成的。
有帮助吗?
解决方案
取数:
$data = array();
while ($row = mysql_fetch_assoc($result)) {
$itemName = $row["item_name"];
if (!array_key_exists($itemName, $data)) {
$data[$itemName] = array();
}
$data[$itemName][] = $row;
}
显示数据
foreach ($data as $itemName => $rows) {
echo '<h1>', $itemName, '</h1>';
echo '<ul>';
foreach ($rows as $row) {
echo '<li>', $row["article_name"], '</li>';
}
echo '</ul>';
}
相关文章