谢谢你的回答,我真的很高兴..我编辑了代码,我想问一下,我是否编辑好了?:-)
$result = $sql->query("SELECT * FROM `topic` ;");
while($row = $result->fetch_object())
{
$id=$row->id;
$photo=$row->photo;
$title=$row->title;
$shortinfo=$row->shortinfo;
echo"<div id='article'>
<a href='reporty.php?page=$id'><div id='article_img'><img src='$photo'/></div></a>
<div id='article_text'>
<h2>$title</h2>
<p>$shortinfo</p>
</div>
</div>";发布于 2013-01-10 19:46:50
您应该将第二个查询设置为$result1,因为新查询将替换第一个查询。这就是为什么你总是只有一个结果
$result = $sql->query("SELECT * FROM `topic` ;");
while($row = $result->fetch_object())
{
$id=$row->id;
echo '<div id="article">
<a href="';
echo '.php"><div id="article_img"><img src="';
$result1 = $sql->query("SELECT `photo` FROM `topic` WHERE id='$id' ;");
while ($row1 = $result->fetch_array()) {
echo $row1['photo'];
}
}发布于 2013-01-10 19:47:40
$result和$row在两个循环中使用相同的变量名。
发布于 2013-01-10 19:50:48
我建议使用可读的、自解释的变量名,比如$photo_result和$title_result。这也解决了你的问题,因为你在你的循环中使用了相同的变量名。
出于性能和简单性的考虑,为什么不对表执行JOIN操作?那么你将只有一个带有一个循环的查询。
https://stackoverflow.com/questions/14257186
复制相似问题