Php 如何隐藏日期已过的数据

Php 如何隐藏日期已过的数据,php,mysql,date,Php,Mysql,Date,我想隐藏已经过去的日期 "SELECT * FROM " . USER_TABLE_NAME . " AS cu INNER JOIN " . JOB_TABLE_NAME . " AS jb ON jb.user_id = cu.user_id WHERE cu.user_id = '$userID' ORDER BY jb.job_date DESC, jb.job_tea_time DESC"; 现在我正在按日期获取所有数据。order by date. 日期存储在VAR

我想隐藏已经过去的日期

"SELECT * FROM " . USER_TABLE_NAME . " AS cu 
 INNER JOIN " . JOB_TABLE_NAME . " AS jb 
 ON jb.user_id = cu.user_id 
 WHERE cu.user_id = '$userID' 
 ORDER BY jb.job_date DESC, jb.job_tea_time DESC";
现在我正在按日期获取所有数据。order by date.

日期存储在
VARCHAR
中,我不想更改它


谢谢,

您可以使用函数将字符串转换为日期-之后您可以通过日期函数轻松地对其进行比较。

您可以使用mysql函数unix\u timestamp将日期字符串(varchar)转换为unix时间戳,对于小于今天日期的比较,您可以在php中使用strottime(“今日”)


这应该行得通。如果发现任何问题,请告诉我

我认为这会有帮助

"SELECT * FROM " . USER_TABLE_NAME . " AS cu 
 INNER JOIN " . JOB_TABLE_NAME . " AS jb 
 ON jb.user_id = cu.user_id 
 WHERE cu.user_id = '$userID' AND STR_TO_DATE(jb.job_date,'%d/%m/%Y') >= now()
 ORDER BY jb.job_date DESC, jb.job_tea_time DESC;

很难理解你在问什么。也许一些示例数据有助于说明您的问题?您的意思是希望从今天(当前日期)开始了解详细信息?@user3378765:通过说
谁的日期已经过去了
,您的意思是当前日期在他们之前吗?您正在通过的日期在哪里?是的,正是@Blank HeadHey Pankaj,谢谢您的回复。。但它不工作,现在它没有显示任何输出。我只是编辑了答案,有一些语法错误。我希望你改正了@用户3378765:它应该可以工作。您可以根据查询尝试使用有效数据。另外,打印查询并在mysql控制台或phpmyadmin上运行,无论您使用什么。这里面可能有逻辑错误。您也可以对jb.job_tea_time尝试相同的条件。使用上次编辑的版本,“MySQL返回一个空结果集(即零行)。(查询耗时0.0008秒)”您今天有有效记录吗?它肯定会起作用。mysql查询中没有错误。一旦您在mysql中有了记录,就可以尝试使用php。但请确保您有有效的记录。@user3378765的文档为列表提供了说明符。您必须根据表中的格式构建格式字符串。在varchar列中存储日期是一个非常糟糕的主意。对不起,空白头没有输出。。感谢回复您如何保存日期字段?日期格式是什么?我不是指数据类型。我指的是格式。正如2013年2月12日或类似的日期2014年10月18日(dd/mm/yyyy)哪一个是第18个月P我猜是2013年10月18日。
"SELECT * FROM " . USER_TABLE_NAME . " AS cu 
 INNER JOIN " . JOB_TABLE_NAME . " AS jb 
 ON jb.user_id = cu.user_id 
 WHERE cu.user_id = '$userID' AND STR_TO_DATE(jb.job_date,'%d/%m/%Y') >= now()
 ORDER BY jb.job_date DESC, jb.job_tea_time DESC;