我正在尝试从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小时但似乎找不到任何东西......
答案 0 :(得分: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
}
答案 1 :(得分: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>";
}
您执行此操作的方式,将每个值存储在同一个变量中。所以你把第一个值,然后第二个值放在第一个值,然后是第二个值,然后放在前一个值上,最后你写一次(最后一个值)。