php中我发布一条信息,有效期是24小时,然后进入倒计时,有效期完了之后该信息就不显示这个功能怎么实现

2025-12-16 05:24:55
推荐回答(3个)
回答1:

看你是要做成及时消失,比如说用户在浏览这个信息的时候,时间一到,他的电脑网页不用刷新自动隐藏信息
还是更新消失,就是跟第一种情况不一样,用户一直打开的这条信息,没有关闭这个页面,但是到时间了还是显示,只是他刷新一遍之后就隐藏了

那么如果你做第一种的话,那就要用js技术,最好结合ajax做,更简单,倒计时,触发器指针到0,执js函数,替换过期内容,或者自动刷新一遍页面,那么第二种的原理就更简单了

你发布信息的时候会保存一个时间戳,当当前时间戳减去你发布的那个时间戳的时间大于24*3600的时候,就用if判断这个信息失效,来做隐藏效果等等。ps:第一种情况和第二种情况实现都要依靠这条信息本身发布时候的时间戳这个字段。这点很重要的。

回答2:

PHP没有在后台运行的功能,所以想要实现这种情况,一是使用系统的任务计划,另一种是在访问的时候再计算。
使用系统任务计划只是第二种方式的一种变化,只是主动执行第二种方式。
所以计算的时候可以使用最普通的计算,你发布的时间与现在的时间进行比较,超过24小时就删除记录或者在数据库中查询的时候就把超过24小时的数据去除。
PHP可能用到的函数,strtotime() 把发布的时间转换成时间戳, time()当前系统时间戳。
数据库查询的语句如下:UNIX_TIMESTAMP() - UNIX_TIMESTAMP( '发布时间' ) <= 24 * 3600

回答3:

发错吧系列,你需要把信息和发布时间放数据库里,然后自己处理