首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >While循环中的while循环

While循环中的while循环
EN

Stack Overflow用户
提问于 2013-01-10 19:44:59
回答 4查看 216关注 0票数 0

谢谢你的回答,我真的很高兴..我编辑了代码,我想问一下,我是否编辑好了?:-)

代码语言:javascript
复制
  $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>";
EN

回答 4

Stack Overflow用户

发布于 2013-01-10 19:46:50

您应该将第二个查询设置为$result1,因为新查询将替换第一个查询。这就是为什么你总是只有一个结果

代码语言:javascript
复制
$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'];
   }
}
票数 1
EN

Stack Overflow用户

发布于 2013-01-10 19:47:40

$result$row在两个循环中使用相同的变量名。

票数 1
EN

Stack Overflow用户

发布于 2013-01-10 19:50:48

我建议使用可读的、自解释的变量名,比如$photo_result$title_result。这也解决了你的问题,因为你在你的循环中使用了相同的变量名。

出于性能和简单性的考虑,为什么不对表执行JOIN操作?那么你将只有一个带有一个循环的查询。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/14257186

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档