而循环输出在同一条线上


While loop output on the same line

我有一个PHP循环,我将一些东西从我的数据库输出到我的页面,但我有一个问题,在运行代码时,它最终出现在不同的行上,如示例1 当我希望它位于示例 2 的行上时,我已经尝试了 usivdiv,浮动容器并使用 CSS 使其内联,但它最终一直像示例 1 一样, 为什么?

示例 1:12345

考2:1,2,3,4,5

<?php
$getquery=mysql_query("SELECT * FROM dogs ORDER by ID LIMIT 5");
while($rows=mysql_fetch_assoc($getquery))
{
    $id=$rows['id'];
    echo '<br>';
    echo '<div id="block" border="1" width="200" style="float:center">';
echo '
    <a href="mypage.com/index.php?dog=', $id, '">
        <img src="/thumb/', $id, '.jpg" alt="dogs!" />
    </a>';
    echo '</div>';
}
?>

将换行符从循环中取出。每次有结果时,您都会打印<br>这就是为什么它位于新行上的原因

echo '<br />';
echo '<div id="block" border="1" width="200" style="float:center">';
$getquery=mysql_query("SELECT * FROM dogs ORDER by ID LIMIT 5");
while($rows=mysql_fetch_assoc($getquery)){
    $id=$rows['id'];
    echo '<a href="mypage.com/index.php?dog='. $id .'">
        <img src="/thumb/'. $id .'.jpg" alt="dogs!" />
    </a>';
}
echo '</div>';

是的,评论 - 请考虑使用 Mysqli


带计数器:

echo '<div id="block" border="1" width="200" style="float:center">';
$i = 0;
$getquery=mysql_query("SELECT * FROM dogs ORDER by ID LIMIT 5");
while($rows=mysql_fetch_assoc($getquery)){
    $id=$rows['id'];
    echo '<a href="mypage.com/index.php?dog='. $id .'">
        <img src="/thumb/'. $id .'.jpg" alt="dogs!" />
    </a>';
    $i++;
    if($i == 5) {
        echo '<br />';
        $i = 0;
    }
}
echo '</div>';

看起来您的串联是错误的。

<a href="mypage.com/index.php?dog='. $id . '">
<img src="/thumb/'. $id . '.jpg" alt="dogs!" />