【问题标题】:Loop through array, and ouput into Div's循环遍历数组,并输出到 Divs
【发布时间】:2010-05-14 18:02:39
【问题描述】:

我有以下代码,我试图将每个“用户帖子”放入一个单独的 div 中,目前它在一个 div 中显示所有帖子。我确定它是一些简单的东西,我刚刚搞砸了,这还没有完成,所以代码中的某些部分仍然有点狡猾。

<?php

if (loggedin())
{

$ID = getID();
$query = "SELECT * FROM `posts`";
$result=mysql_query($query);
$count=mysql_num_rows($result);


while ($row = mysql_fetch_array($result)) 
{

echo '<div id="posts">';
echo "<br />".$row['2']."<br />";
echo "</div>";
}

}
else
{
    echo "Not Logged In";
}
?>

谢谢:)

【问题讨论】:

  • 应该可以的。您是否检查了源代码以确保它们实际上都在同一个 div 中?

标签: php html


【解决方案1】:

你做得很好,只是你没有使用clearmargin-top,这样它们就出现在彼此下方并且有点距离:

while ($row = mysql_fetch_array($result)) 
{
  echo '<div id="posts" style="clear:both; margin-top:20px;">';
  echo "<br />".$row['2']."<br />";
  echo "</div>";
}

【讨论】:

  • @sr pt:使用&lt;br /&gt;是他的目的,基本上他已经有单独的div但他找不到视觉差异,所以给clear不是这很重要,但margin-top 让他感觉 div 是独立的,而不是一个。 :)
【解决方案2】:

首先,HTML 中的 id 必须是 unique 并且您循环为所有 div 分配相同的 id -标签。

否则一切都是正确的,就像 Sarfranz 所说的那样,您已经将数据放入单独的 div 中。也许你只需要添加一些 CSS 让它引人注目。

下面应该更好。

<?php

if (loggedin())
{

$ID = getID();
$query = "SELECT * FROM `posts`";
$result=mysql_query($query);
$count=mysql_num_rows($result);

$i= 0;

while ($row = mysql_fetch_array($result)) 
{

echo '<div id="post_'.$i.'" style="border-bottom:1px #333333 dashed; margin-top:5px;">';
echo $row['2'];
echo '</div>';
$i++;
}

}
else
{
    echo "Not Logged In";
}
?>

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2014-05-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-07-05
    • 1970-01-01
    相关资源
    最近更新 更多