我有一个嵌套的do while循环。选项输入中的第一个循环为空白,下拉菜单中没有选项。第一个循环之后的所有其他循环都可以正常工作。我茫然为何第一个空白,而任何帮助将不胜感激。
FROM shopper s
...
AND EXISTS (SELECT *
FROM otherTable t
WHERE t.id = s.id)
答案 0 :(得分:1)
do while循环的第一次迭代从$row_folders
和$row_photos
返回空值的原因是,直到第一次迭代完成(在while
语句)
要解决此问题,可以先分配变量,也可以(通常这样做)使用while
循环。
首先定义变量:
$row_folders = mysql_fetch_assoc($folders);
do
{
// Your code here
}
while ($row_folders = mysql_fetch_assoc($folders));
或只需使用while循环:
while ($row_folders = mysql_fetch_assoc($folders))
{
// Your code here
}
答案 1 :(得分:1)
在do while循环中,在执行循环内的语句之后测试条件。 您应该将其更改为WHILE,仅将条件移至顶部以获取第一行 请注意,在第二次迭代中,您将获得第一行,因为在第一次迭代执行中,第一行尚未提取。