在特定日期时间后自动设置记录状态

1 php mysql

我有一个用户填写的表格来发布他们的招聘广告,他们输入的一个字段是保持工作"开放"的天数.

我希望能够在输入的日期过后自动将作业状态更改为"已关闭".

作业表已经设置了状态和到期,我只需要知道如何自动将状态从"打开"更改为"关闭".

我对MySQL和我需要运行的查询知之甚少.

p.c*_*ell 5

建议您不要status在数据库中保留字段,而是从业务或表示层中的到期日期获取该状态.这可以在您的SQL代码或客户端代码(PHP)中完成.

一些伪代码:

INSERT INTO JobAd (Description, ExpiryDate)
VALUES (@Description, @Today + DaysToLive)

...

SELECT *
       , CASE WHEN ExpiryDate<@today
       THEN 'Expired'
       ELSE 'Good to go'
       END AS JobStatus
FROM JobAd  ORDER BY JobStatus, ExpiryDate
Run Code Online (Sandbox Code Playgroud)

当您取出这些作业时,请使用PHP将状态写回用户,部分基于ExpiryDate.同样,这可以在SQL或PHP中完成.

获得状态意味着您不必创建维护过程/任务来更新数据库中的属性.