php - while 循环第一次迭代不起作用吗?
问题描述
我有一个嵌套的 do while 循环。选项输入中的第一个循环是空白的,下拉菜单中没有选项。第一个循环之后的所有其他循环都可以正常工作。我不知道为什么第一个是空白的,任何帮助都将不胜感激。
<div class="col-md-12">
<h1 align="center"><a href="images.php"><Back</a> - Current Photos in <?
echo $row_titles['title']; ?></h1>
<?php if ($totalRows_photos > 0)
{
do
{ ?>
<div class="col-md-3" style="height:350px;overflow:hidden;"><img
src="../contentimages/<?php echo $row_photos['filename']; ?>" class="img-
responsive" style="max-height:225px;" /><br />
<? if ($row_photos['catid'] == 1)
{
echo "Commercial";
}
else
{
echo "Residential";
} ?>
| <a href="images.php?id=<?php echo $row_photos['id']; ? > & amp;
action = remove">Delete</a><br />
<form name="moveit" action=" < ? phpecho $editFormAction; ?>" method="POST"
id="moveit"><select name="folder">
<?php
do
{
?>
<option value="<?php echo $row_folders['id'] ?>"<?php if (!(strcmp($row_folders['id'], $row_photos['project_id'])))
{
echo "selected=\"selected\"";
} ?>><?php echo $row_folders['title'] ?></option>
<?php
}
while ($row_folders = mysql_fetch_assoc($folders));
$rows = mysql_num_rows($folders);
mysql_data_seek($folders, 0);
$row_folders = mysql_fetch_assoc($folders);
?>
</select><input name="Move" type="submit" value="Move" />
<input name="hiddenField" type="hidden" id="hiddenField" value="<?php echo $row_photos['id']; ?>" />
<input type="hidden" name="MM_update" value="moveit" />
</form></div>
<?php
}
while ($row_photos = mysql_fetch_assoc($photos));
}
else
{
echo "<h3
align=\"center\">No photos are found!</h3>";
} ?></div>
解决方案
do while 循环的第一次迭代从$row_folders
and返回空白值$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
}
推荐阅读
- tensorflow - large.ai 上不止一个 GPU
- python - 如何在引用其他行的同时迭代熊猫数据框行?
- typescript - 为什么 TypeScript 允许这样做?
- php - Zingaya 可能从网页调用 同样通过使用 Nexmo/Twilio(可能/不可能)调用从网页单击该按钮?
- docker - ubuntu apt-get 存储库给出错误 gpg: no valid OpenPGP data found
- reactjs - Invariant Violation - Conditional rendering
- angular - @zxing/ngx-scanner 角度库无法读取所有类型的条码
- statistics - 用于贝叶斯回归的聚类组
- python-3.x - .sh 文件中的 Gunicorn 无法导入已安装的 python 包
- ajax - 从我的网站下载离线版本,其中包含 ajax 调用