我的衣服数据库是这样的:
jeans | Bootcut
jeans | Straight
jeans | Slim
jacket| ..
shoes | ..
我尝试使用以下代码列出商店中的产品:
<?php
$sql = 'SELECT DISTINCT category FROM clothes ';
$sqlSubcat = 'SELECT subcategory FROM clothes ';
echo '<div>'
foreach ($conn->query($sql) as $row) {
echo ' <a>'.$row['category'].'</a> ';
foreach ($conn->query($sqlSubcat) as $row) {
echo ' <div >';
echo ' <a>'.$row['subcategory'].'</a> ';
echo ' </div>';
}
}
echo "</div>";
?>
我的期望:
但我得到了这个结果:
只会列出 1 个子类别,而不是 3 个。代码中的错误在哪里?
最佳答案
我认为不应该在 foreach 循环中直接使用执行 sql 查询。你试试这个例子:
$sql = 'SELECT DISTINCT category FROM clothes ';
$sqlSubcat = 'SELECT subcategory FROM clothes ';
$tmp1 = $conn->query($sql);
$tmp2 = $conn->query($sqlSubcat);
echo '<div>';
foreach ( $tmp1 as $row1) {
echo ' <a>'.$row1['category'].'</a> ';
foreach ( $tmp2 as $row2) {
echo ' <div >';
echo ' <a>'.$row2['subcategory'].'</a> ';
echo ' </div>';
}
}
echo "</div>";
?>
关于php - 如何使用 foreach PHP 列出类别和子类别中的值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47498509/