0

我正在尝试从 div 中的 MySQL 数据库中的每一行获取特定内容,但是它只显示具有最高 id 值的行中的内容。

mysql_connect("$host", "$username", "$password")or die("cannot connect");
mysql_select_db("$db_name")or die("cannot select DB");

$query = "SELECT * FROM articles ORDER BY id";
$result = mysql_query($query) or die(mysql_error());

$count = mysql_num_rows($result);

while($row = mysql_fetch_array($result))
{
    $title = $row['title'];
    $summary = $row['summary'];
}
?>

<div class="content">
    <h2 class="titlecss"><?php echo ($title)?></h2>
    <p class="customfont"><?php echo ($summary)?></p>
</div>

谁能解释我在这里做错了什么?我已经浏览了 2 个小时的互联网,但似乎找不到任何东西...

4

2 回答 2

2

您需要在 while 循环中输出每个 div:

while($row = mysql_fetch_array($result))
{
    $title = $row['title'];
    $summary = $row['summary'];
    ?>
    <div class="content">
    <h2 class="titlecss"><?php echo ($title)?></h2>
    <p class="customfont"><?php echo ($summary)?></p>
    </div>
    <?php
}
于 2013-03-19T14:01:11.173 回答
0

你应该这样做:

while($row = mysql_fetch_array($result)) {
   echo "<div class=\"content\">";
   echo "<h2 class=\"titlecss\">" . $row['title'] . "</h2>";
   echo "<p class=\"customfont\">" . $row['summary'] .  "</p>";
   echo "</div>";
}

您这样做的方式是将每个值存储在同一个变量中。所以你把第一个值,然后是第二个,放在第一个上,然后是下一个,放在前一个上,最后你写一次(最后一个值)。

于 2013-03-19T14:02:52.460 回答