for循环会发布一切,但我只想要一个帖子

时间:2012-07-22 12:46:34

标签: php mysql if-statement for-loop

我想从我的MySQL获取数据并仅在$featured == 1时回显它。 它有效,唯一一个$featured == 1会显示标题,但我的问题是它还会从我的数据库中的其他内容发布帖子(空帖)。我只希望它显示带有== 1的帖子,仅此而已。我无法解决这个问题。

<aside id="featured" class="body"><article> 
<?php
for ($i=0; $i <$num_results; $i++){
$row1 = $result1->fetch_assoc();
$featured = ($row1['featured']);
if ($featured == 1) {
echo $row1['title'];    
} else {
}
?>
<figure> 
<img src="images/black2.gif" alt="Black 2" style="width: 300px;"/> 
</figure>   
<hgroup>    
<h2>Featured Article</h2> 
<h3><a href="goodies/black2.html">
</a></h3> 
</hgroup>   
<p> </p> 
<footer class="post-info"> 
<abbr class="published" title="date">20 juli 2012</abbr>    
<address class="vcard author">By<a class="url fn" href="portfolio.html">F4LLCON</a> 
</address></footer><!-- /.post-info -->
</article>
<?php
}
$result1->free();   
?>

</aside><!-- /#featured -->

  • 看起来像:

enter image description here


  • 但我想这样:

enter image description here

1 个答案:

答案 0 :(得分:2)

您的for正文包含打印大量HTML而不管featured检查,即在if之外。

你可能应该移动两行

} else { 
}

行到代码段的底部。