我目前有以下代码,它工作得很好,但我从来没有尝试过做这类事情更复杂的事情。我想知道如何在结果输出中添加更多变量。
$check_alt_sizes = mysqli_query($link, "SELECT model, version, size, category FROM items WHERE model = '$model' AND size != '$category' AND id != '$item_id'");
if (mysqli_num_rows($check_alt_sizes) >= 1) {
$group = array();
while ($row = mysqli_fetch_assoc($check_alt_sizes)) {
$group[ $row['category'] ][] = $row;
}
然后再
foreach ($group as $sizes => $alt_size_urls) {
foreach ($alt_size_urls as $alt__size_url) {
echo "<a href='/items/"; echo "$alt_size_url[slug]"; // slug set elsewhere
echo "'>";
echo "$sizes</a>";
}
}
}
现在,$ sizes部分显示了我从查询中获取初始$ group中的$ row ['category']所获得的大小列表。我想知道的是,我怎样才能为这个组添加更多变量,我只是用这种方式处理它,从不扩展它。
目前显示
Alternate Sizes:
size1
size2
但我希望能够添加版本,例如
Alternate Sizes:
Version1 - size1
Version2 - size1
Version3 - size2
我试过这样做:
echo $row['version']; echo "$sizes</a></p></li>";
但这只是使用找到的第一个版本并将其应用于每个项目。显然因为$ sizes是循环而版本echo不是。我该怎么做呢?
答案 0 :(得分:0)
我用这个修改了你的源代码:
$group_size = "";
foreach ($group as $sizes => $alt_size_urls) {
$group_size .= "Alternate Sizes: <br>";
$ctr = 0;
foreach ($alt_size_urls as $alt__size_url) {
$group_size .= "<a href='/items/' " . $alt_size_url[slug] . (++$ctr) . "'>" . $sizes . "</a><br>";
}
}
echo $group_size;