发新话题
打印

如何用最简单的方法实现如下功能?

以下讨论基于mysql  
1、增加一个字段,保存点击暂时取消按钮时的时间  
设增加的字段为“暂时取消”则  
SELECT  *  FROM  tbl_name  where  subdate(now(),INTERVAL  14  DAY)>if(暂时取消>最后访问时间,暂时取消,最后访问时间)  
仅仅是设一个标志是不行的  

2、借助原字段,用年度来附加日期差  
当点击“暂时取消”时,计算出“最后访问时间”与当前时间相差的天数,并将该天数当作年数加到最后访问时间”上,查询时取出增加的年数作为参数调整“最后访问时间”  
SELECT  *  FROM  tbl_name  where  subdate(now(),INTERVAL  14  DAY)>subdate(adddate(最后访问时间,INTERVAL  YEAR(最后访问时间)-YEAR(now())  DAY),  INTERVAL  YEAR(最后访问时间)-YEAR(now())  YEAR)  

这样可以不增加字段而充分利用原字段。  
存在一个小问题:计算是基于当前时间的,因此跨年份时就不准确了。

TOP

发新话题