我的php脚本出了问题。该脚本生成两个<ul>
,一个带有图像,另一个带有缩略图。 php完美地运行第一个while循环,但是我的<ul>
缩略图总是空回来。我一直在努力工作,没有运气,我似乎无法让脚本打印任何错误。帮助
include "../backend/connect.php";
$query = "select image_id from images where thumb != '';";
$result = mysql_query($query);
<div id="main">
<div id="container">
<ul>
<?php
while ($row = mysql_fetch_array($result)) {
$img_id = $row['image_id'];
?>
<li class="hidden" id="<?php print($img_id); ?>" style="background-image:url(/pull.php?id=<?php print($img_id);?>&thumb=false)"></li>
<?php } ?>
<li class="" id="focus"></li>
</ul>
</div>
</div>
<div id="side">
<div id="photos"><ul>
<?php
while ($row = mysql_fetch_array($result)) {
$img_id = $row['image_id'];
?>
<div class="imgDiv" id="<?php print($img_id); ?>" >
<li>
<img src="pull.php?id=<?php print($img_id);?>&thumb=true" class="thumbnail"/>
</li>
</div>
<?php
}
?>
</ul></div>
</div>
</div>
答案 0 :(得分:5)
你正在使用while循环遍历结果,你不能再做两次。
第一次通过结果重新开始后,调用mysql_data_seek($result, 0);
将内部指针重置回第一条记录。
答案 1 :(得分:1)
听起来好像你可能会读到第一个循环中的所有行,并且当你到达第二个循环时没有什么可读的了。)
答案 2 :(得分:1)
您的第一个while
循环,直到mysql_fetch_array($result)
为假/空。你永远不会为$ result分配一个新值,所以当你到达第二个while
时,它会跳过循环。
如果要遍历结果两次,请将它们转储到数组中并使用foreach
进行迭代。
答案 3 :(得分:0)
第一次循环结果时,实际上是在清除$ result对象。你可能会做一次像:
这样的事情$image_ids = array();
while ($row = mysql_fetch_array($result)) {
array_push($img_ids, $row['image_id']);
}
?>
然后在生成代码时循环遍历该数组。