我有一个包含博客帖子的表格。我想选择最新的帖子,并使用PHP回显它们之间的分隔符,类似于下面的示例。我在考虑将所有结果存储在PHP数组中然后回显,是否有更简单的方法通过MySQL?
Thursday, Sept 8th
-----------------------
Post 1
Post 2
Friday, Sept 9th
-----------------------
post 3
post 4
答案 0 :(得分:5)
这是一个想法:
<?php
$sql = "SELECT * FROM posts ORDER by post_date DESC";
$res = mysql_query($sql);
$previous_date = "";
while($post = mysql_fetch_assoc($result)){
//here goes the date
if($post['post_date'] != $previous_date){
echo $post['post_date'];
echo "<br>--------------------<br>";
$previous_date = $post['post_date'];
}
//here goes the post
echo "Post:{$post['title']}<br>";
}
?>
答案 1 :(得分:0)
我很确定MySQL中没有任何内容可以让你返回结果集。如果有的话,看起来非常有趣可能非常有趣:P
从语义上讲,您实际上并不希望从查询中返回;查询应返回纯数据,然后PHP(或其他)应负责以您希望的方式格式化它。如果查询返回了一些演示文稿内容,那么就是在混合。
答案 2 :(得分:0)
您可以在数据库中创建一个列来存储帖子时间的unix时间戳,然后按此列排序(如果您询问如何首先获取最新帖子)。您可以使用strftime()函数循环遍历现有行并将日期转换为时间戳。您不应该在数据库中保留格式,只是数据,以防您以后想要在其他地方以其他方式组织它。祝你好运。