gpt4 book ai didi

php - mysqli_fetch_assoc 循环位于另一个 mysqli_fetch_assoc 循环内

转载 作者:行者123 更新时间:2023-11-29 08:37:52 24 4
gpt4 key购买 nike

我在互联网上搜索了一段时间,试图找到这个答案,但也许我的搜索主题不正确。我有一个 SQL 查询,它将两个表中的数据返回到一个组合结果集中。我想循环遍历并找到每个“部分”并将其打印出来,在每个“部分”下面我想打印出与该部分相关的事件。我基本上有一个父循环来查找“部分”,并在父循环内部有一个子循环来搜索事件。我的代码如下。

谁能解释一下为什么父循环只迭代1次然后就停止了?我一定会很感激!

while ($row = mysqli_fetch_assoc($result)) {
if($row['ID'] != "") {
echo '<h3 class="classTlt">'.$row['sTitle'].'</h3>';
echo $row['sDesc'];
$table = '<table cellpadding="0" cellspacing="0" width="100%" border="0">
<tr>';
for($i=1;$i<=6;$i++) {
if($row['sH'.$i] != null) {
$table .= '<th>'.$row['sH'.$i].'</th>';
}
}
$table .= '</tr>';
while ($row2 = mysqli_fetch_assoc($result)) {
if($row2['sID'] == $row['ID']) {
$table .= '<tr>';
for($x=1;$x<=6;$x++) {
if($row2['sV'.$x] != null) {
$table .= '<td valign="top">'.$row2['sV'.$x].'</td>';
}//end if
}//end for
$table .= '</tr>';
}//end if
}//end while
$table .= '</table>';
echo $table;
}//end if
}//end while

最佳答案

在内循环中将结果集排干。

如果您的结果有 10 行,则外部 while 提取 1 行,内部 while 提取其他 9 行,外部不再提取任何内容。

编辑:关于评论:

$someArray = array();
while ($row = mysqli_fetch_assoc($result)) {
$someArray[] = $row;
}

for ($i = 0; $i < count($someArray); ++$i) {
// some stuff

for($j = 0; $j < count($someArray); ++$j) {
// some more stuff
}
}

关于php - mysqli_fetch_assoc 循环位于另一个 mysqli_fetch_assoc 循环内,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14715222/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com