这个问题有点难以解释,但我会尽我所能。
我有一个数据库,其中包含一个名为content 3个列的表,我正在尝试将这些值作为行放入并将它们放在不同的<div>’s
中。这是我到目前为止所写的内容
<?php
$sql = "SELECT * FROM content";
$query = mysqli_query($db, $sql) or die (mysqli_error());
$contentDisplay = '';
while ($row = mysqli_fetch_array($query)) {
$content_id = $row["id"];
$content_title= $row["title"];
$content_text = $row["text"];
$contentDisplay .= '<h1>'.$content_title.'</h1> <p>'.$content_text.'</p>' ."\n";
}
$row_cnt = $query->num_rows;
printf("Result set has %d rows.\n", $row_cnt);
?>
行计数给出4行,这是正确的行数。
在我的html中,我<?php echo $contentDisplay; ?>
将所有4行相互推出,但我需要在第一行<div>
显示第一行,第二行显示<div>
等等。提前谢谢
更新:我忘了说我的html部分中的<div>'s
有不同的样式。我需要的只是一个<div>
中的第一行(如页面顶部)和另一个<div>
中的第二行(如页面底部所示):)
Update2:这里是html代码
<div class="content-top">
<section>
<h1></h1>
<p></p>
</section>
</div>
<div class="content-left">
<section>
<h1></h1>
<p></p>
</section>
</div>
<div class="content-center">
<section>
<h1></h1>
<p></p>
</section>
</div>
<div class="content-right">
<section>
<h1></h1>
<p></p>
</section>
</div>
我希望第一行显示在<div class="content-top">
<div class="content-left">
第二行<div class="content-center">
和<div class="content-right">
第四行
答案 0 :(得分:0)
<?php
$sql = "SELECT * FROM content";
$query = mysqli_query($db, $sql) or die (mysqli_error());
$rows = [];
while ($row = mysqli_fetch_array($query))
$rows[] = '<h1>'.$row['title'].'</h1> <p>'.$row['text'].'</p>' . "\n";
?>
<div class="content-top">
<section>
<?php echo $rows[0]; ?>
</section>
</div>
<div class="content-left">
<section>
<?php echo $rows[1]; ?>
</section>
</div>
<div class="content-center">
<section>
<?php echo $rows[2]; ?>
</section>
</div>
<div class="content-right">
<section>
<?php echo $rows[3]; ?>
</section>
</div>
答案 1 :(得分:0)
$contentDisplay .= '<div><h1>'.$content_title.'</h1> <p>'.$content_text.'</p></div>' ."\n";
只为每行添加div? :)这样,数据库中的每一行都会得到一个div。
每一行都会附加到$contentDisplay
变量,但由于你所做的就是打印它,你可以直接打印html。
我不确定你为什么被投票,因为你问的是一个有效的问题代码,显示你到目前为止所尝试的内容。