远距离搜索,无法找到答案,所以我觉得是时候发帖了。我目前有一个供应商表。我想使用' skuid'来遍历每个供应商。每个值都是唯一的,然后回显该行的其他信息。这是我到目前为止所拥有的。
$mysqli = new mysqli($DB_HOST, $DB_USER, $DB_PASS, $DB_NAME);
if ($mysqli->connect_errno) {
echo "<p>MySQL error no {$mysqli->connect_errno} : {$mysqli->connect_error}</p>";
exit();
}
$vendorQuery = "SELECT skuid FROM vendors";
$vendorResult = mysqli_query($mysqli, $vendorQuery);
while($row = mysqli_fetch_assoc($vendorResult)) {
foreach($row['skuid'] as $vendorid) {
echo $row['skuid'];
}
} ?>
答案 0 :(得分:4)
你不需要那个foreach
,你的外循环就足够了
while($row = mysqli_fetch_assoc($vendorResult)) {
echo $row['skuid'];
}
并且单个mysql查询不会返回嵌套的数据级别,因此在这种情况下,嵌套循环不能成为任何好的用例。
当此循环运行时,每行始终只有1 skuid
。那里没有其他嵌套循环。
现在,如果你想从这个查询创建一个供应商数组,然后循环它,这是一个很好的用例。例如
while($row = mysqli_fetch_assoc($vendorResult)) {
$skuid=$row['skuid'];
$name=$row['name'];
$vendors[$skuid]=array('name'=>$name); // and other fields
}
foreach($vendors as $vendor){
echo $vendor['name'];
}