如何循环结果以插入具有每个结果的复杂性的新div?
我有以下数据库表,其中包含以下列:
ID | UserID | Title | Introduction | Content | Images | Background | Date | Pinned
我有以下PHP代码:
if($latest = $con->query("SELECT * FROM Posts WHERE Pinned='0' LIMIT 4")) {
if($latest->num_rows > 0) {
//<-- result loop here
} else {
echo '<h1 class="alert fade">No Posts</h1>';
}
$latest->close();
};
我想按如下方式格式化输出:
<div class="post standard" style="background-image:url([1]);">
<a href="view.php?id=[2]">
<div class="shader"></div>
<div class="info">
<h1>[3]</h1>
<p>[4] - [5]</p>
</div>
</div>
[1] - Background
[2] - ID
[3] - Title
[4] - UserID
[5] - Date
我将如何做到这一点?
答案 0 :(得分:1)
这是应该做你需要的代码。我只使用了一个echo
,您可以将其拆分为更多echo
es,或者退出PHP块。没关系。
<?php
if ($latest->num_rows > 0) {
while ($row = $latest->fetch_assoc()) {
echo '
<div class="post standard" style="background-image:url(' . $row['background'] . ');">
<a href="view.php?id=' . $row['id'] . '">
<div class="shader"></div>
<div class="info">
<h1>' . $row['title'] . '</h1>
<p>' . $row['userID'] . ' - ' . $row['date'] . '</p>
</div>
</div>
';
}
}
?>
将HTML代码放在PHP块之外的示例。
<?php
if ($latest->num_rows > 0) {
while ($row = $latest->fetch_assoc()) {
?>
<div class="post standard" style="background-image:url('<?php echo $row['background']; ?>');">
<a href="view.php?id=<?php echo $row['id'] ?>">
<div class="shader"></div>
<div class="info">
<h1><?php echo $row['title']; ?></h1>
<p><?php echo $row['userID']; ?> - <?php echo $row['date']; ?></p>
</div>
</div>
<?php
}
}
?>
答案 1 :(得分:0)
嗯,我做的是以下内容 假设我们在循环中,例如
if($latest = $con->query("SELECT * FROM Posts WHERE Pinned='0' LIMIT 4")) {
if($latest->num_rows > 0) {
//<-- result loop here
// end the php tag here
?>
<div></div>
<!-- you html tags here-->
<?php // reopen your php tag here again
} else {
echo '<h1 class="alert fade">No Posts</h1>';
}
$latest->close();
};