所以在我的项目上我有帖子。基本上它们包括发布时间和发布内容。现在这是我的问题,我只能弄清楚如何检索一行而不是发布内容和发布时间。这是我的代码
$posts = array();
while($row = $stmt->fetch(PDO::FETCH_ASSOC)){
$posts[] = $row['post_content'];
}
我是怎么回来的
<?php
foreach($posts as $post) {
$post;
?>
<div class="content">
<div class="post">
<h1 class="message">
<?php
echo $post;
?>
</h1>
<p class="time">4 minutes ago</p>
</div>
</div>
<?php
}
?>
我试过
$posts = array();
$time = array();
while($row = $stmt->fetch(PDO::FETCH_ASSOC)){
$posts[] = $row['post_content'];
$time[] = $row['post_time'];
}
但这不起作用。我已经没想完了。任何帮助都会很棒。此外,如果有一个更清洁的方法,这将是很好的知道如何。谢谢
答案 0 :(得分:0)
您可以使用嵌套数组:
$posts = array();
while($row = $stmt->fetch(PDO::FETCH_ASSOC)){
$posts[] = array(
'post_content' => $row['post_content'],
'time' => $row['post_time']
);
}
然后您的回音需要引用$post['post_content']
和$post['time']
。
答案 1 :(得分:0)
您使用$ post =值,每次都会覆盖您的值,请尝试:
array_push($posts, $row['post_content']);
在你的while循环中
答案 2 :(得分:-1)
您可以在while循环中简单地生成HTML。否则,您可能希望使用PDOStatement::fetchAll -
直接填充您的posts数组$posts = $stmt->fetchAll();
并像往常一样使用它,例如 -
<?php foreach($posts as $post): ?>
<article>
<h1> <?php echo $post['title']; ?> </h1>
<p> <?php echo $post['content']; ?> </p>
</article>
<?php endforeach; ?>