如何在一组PHP MySQL Select Queries之后插入水平规则?

时间:2015-12-30 00:21:12

标签: php mysql

我目前正在开发一个PHP网站,我想在显示新闻标题的主页上添加一个部分。与该站点上的所有其他内容一样,填充此部分的信息将从MySQL数据库中提取。我已经添加了代码,这些代码可以让我在每个部分之前执行此操作和一些CSS来格式化页面上的显示并且工作得非常好。但是,我无法解决的是如何显示我想要的所有内容,并在读取每个MySQL行后插入一个水平规则。现在,如果我在数据库表中插入多行,它只显示新行的信息并替换前一行的信息。请参阅下图,了解当前页面的显示方式。

Screenshot of current page layout

以下是我正在使用的代码。

<div id="news">
<?php
$query = "SELECT news_date FROM news";
$result = mysqli_query($dbconnect, $query);
while($row=mysqli_fetch_assoc($result)) {
    $date = $row['news_date'];
}
?>
<?php
$query = "SELECT news_headline FROM news";
$result = mysqli_query($dbconnect, $query);
while($row=mysqli_fetch_assoc($result)) {
    $headline = $row['news_headline'];
}
?>
<?php
$query = "SELECT news_body FROM news";
$result = mysqli_query($dbconnect, $query);
while($row=mysqli_fetch_assoc($result)) {
    $body = $row['news_body'];
}
?>
<div class="date"><?php echo $date . "<br />" ?>
<div class="headline"><?php echo $headline . "<br />" ?>
<div class="headlinebody"><?php echo $body . "<hr />" ?>
</div>

正如我所说,这将以我想要的方式显示信息,但只要我添加另一个“标题”,新的替换旧的。我希望所有标题都在标题(行)之间出现水平规则而不是每个部分。您可以提供的任何帮助将不胜感激。非常感谢你。

1 个答案:

答案 0 :(得分:1)

您可以在1个查询和1个循环中执行此操作。

<div id="news">
<?php
$query = "SELECT news_date, news_headline, news_body FROM news";
$result = mysqli_query($dbconnect, $query);
while($row=mysqli_fetch_assoc($result)) { ?>
    <div class="date"><?php echo $row['news_date']; ?></div><br />
    <div class="headline"><?php echo $row['news_headline']; ?></div><br />
    <div class="headlinebody"><?php echo $row['news_body']; ?></div><hr />
<?php }
?>
</div>