Php循环,在输出中提供额外的HTML元素

Php循环,在输出中提供额外的HTML元素,php,html,Php,Html,而不是 <?php $sun=mysql_query("SELECT * FROM `red_users` WHERE `role`='user' AND `userID` != '$userID' ORDER BY `id` DESC LIMIT 10 ") or die(mysql_error()); while($su[]=mysql_fetch_array($sun)){ } for($i=0;$i<count($su);$i++){ $sud=$su[$i]

而不是

<?php
$sun=mysql_query("SELECT * FROM `red_users` WHERE `role`='user' AND `userID` != '$userID' ORDER BY `id` DESC LIMIT 10 ") or die(mysql_error());

while($su[]=mysql_fetch_array($sun)){

}

for($i=0;$i<count($su);$i++){

    $sud=$su[$i]['userID'];
    $sname=$su[$i]['name'];
    $dop=$su[$i]['dp'];
    $sxx=$su[$i]['sex'];

    if($dop != ''){
        $sey=$dop;
    }

    if($dop =='' AND $sxx=='MALE'){
        $sey="../images/male.png";
    }

    if($dop =='' AND $sxx=='FEMALE'){
        $sey="../images/female.png";
    }
?>

<a href="profile.php?frnd=<?php echo $sud ?>">
    <div class="inbox-item">
        <div class="inbox-item-img"><img src="<?php echo $sey ?>" class="img-circle" alt=""></div>
        <p class="inbox-item-author"><?php echo $sname; ?></p>
    </div>
</a>
<?php } ?
以及进一步处理
$su

在相同的
中处理每条记录,同时

while($su[]=mysql_fetch_array($sun)){

}
@mloureiro的补充说明:


这是因为
while
会一直运行,直到找到一个
false
值,因此当
mysql\u fetch\u数组
没有任何其他要返回的内容时,它会给出
false
,该值将传递给
$su[]
array.

它将一次又一次地运行while循环。因此页面将变慢。您将运行一个
while
循环,而不是两个循环。你确定页面会变慢吗?@MuhammedAsif这没有意义,我不是mysql方法的专家,但使用while+for看起来很多余。@MuhammedAsif你能测试一下这个答案吗?我想我理解@MuhammedAsif的问题,问题是在
for
中没有语句,在
while($su=mysql_fetch_array($sun)){
    // do stuff
}