gpt4 book ai didi

php - 如何按天过滤PHP/MySQL中的数据?

转载 作者:行者123 更新时间:2023-11-29 05:38:51 24 4
gpt4 key购买 nike

我有一个 PHP 脚本,用户可以提交帖子并将其保存到数据库中;我正在使用 time() 存储发布日期。我正在尝试找出一种按天过滤数据的方法。我有一个 while 循环,它返回用户发布的所有按日期排序的帖子,但是我想要做的是有一个日期的标题,例如2011 年 12 月 10 日,只有当天提交的帖子。如果那天有数据,我希望它只显示标题。

非常感谢。

编辑:

这是我现在的 while 循环:

$get_posts = mysql_query( "SELECT * FROM `posts` WHERE `userid` = '$name[id]' ORDER BY `date` DESC" );
while( $userpost = mysql_fetch_assoc( $get_posts ) )
{
echo $userpost[ 'post' ];
}

但不知何故,在循环之前,我需要显示帖子标题的日期或提交的帖子。我认为它需要成为当前循环之外的循环,但我不知道如何去做。

最佳答案

正如您在对数据库列的类型为整数的问题的评论之一中提到的那样。所以我假设您将 UNIX 时间戳存储在列中。据我了解,您希望显示如下内容:

DATE HEADING 1
- data
- data

DATE HEADING 2
- data
- data

如果这是正确的,此代码片段可能会有所帮助:

$rs = mysql_query('SELECT `column1`, `column2`, FROM_UNIXTIME(`the_time_column`, \'%d %M %Y\') AS `date_value`
FROM `your_table`
ORDER BY `the_time_column`');
$old = '';
while ($row = mysql_fetch_assoc($rs)) {
$new = $row['date_value'];
if ($new != $old) { // marks the beginning of a new heading
echo 'heading = ' . $new;
}
// start displaying data under the heading
echo $row['column1'];
echo $row['column2'];
// finish displaying data

$old = $new;
}

请注意,我使用了虚拟的列名和表名,因此请将它们替换为实际名称。此外,上面的代码片段将按日期升序显示标题。要反向显示,请在查询末尾添加 DESC。

希望以上内容对您有所帮助!

关于php - 如何按天过滤PHP/MySQL中的数据?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8458625/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com