我目前有以下代码。。。它运行得很好,但我需要更改它:
$group = array();
while ($row = mysqli_fetch_assoc($result)) {
$group[ $row['company'] ][] = $row;
}
foreach ($group as $company => $items) {
echo "$company<br/>";
foreach ($items as $item) {
$image = "item_img_url_code_goes_here";
echo "<img src='$image'/>";
$item_name = $item['item'];
$item_size = $item['item_size'];
$item_version = $item['item_version'];
echo "<p>$item_name - $item_size - $item_version</p>";
}
echo '<div class="clear"></div>';
}
输出如下:
COMPANY 1
item - item size - item version
item - item size - item version
item - item size - item version
COMPANY 2
item - item size - item version
item - item size - item version
item - item size - item version
但我希望它能像这样输出:
COMPANY 1
item size one
item - item version
item - item version
item - item version
item size two
item - item version
item - item version
item - item version
etc
COMPANY 2
item size one
item - item version
item - item version
item - item version
item size two
item - item version
item - item version
item - item version
etc
有人能为我提供如何实现这一目标的指导吗?
您可以先将数据存储在一个结构如下的新数组中,而不是立即回显数据:
data['sizeA']['item1'] = item1
data['sizeA']['item2'] = item2
data['sizeB']['item1'] = item3
data['sizeB']['item2'] = item4
然后用嵌套循环迭代这个新数组:
foreach($data as $size -> $items) {
echo "$size";
foreach($items as $item) {
$name = $item['name'];
// etc.
echo "$name";
}
}