再加一个字段
如remind 默认为0
如果点击取消就将改字段置为1 下一次再取消就累加
查找时如果发现可以用 日期比较 sql中用dateadd 
如果最后访问日期+remind*14>当前日期  就不提醒

解决方案 »

  1.   

    to  xuzuning(唠叨)
    保存时间是可以的,但问题查询的时候怎么查?
    至于增加100年是为什么? 我这个是暂时取消,不是永久性的.to sdliubo 
    能否详细点?不过已经给我提供思路了,
    我想加一个字段保存最后访问时间到按钮点击当天之间的天数,
    这样就可以通用 lastVisitTime + remind 取得按钮点击的日期,
    然后可以根据这个日期计算是否该提醒
      

  2.   

    以下讨论基于mysql
    1、保存时间是可以的,但问题查询的时候怎么查?
    设增加的字段为“暂时取消”则
    SELECT * FROM tbl_name where subdate(now(),INTERVAL 14 DAY)>if(暂时取消>最后访问时间,暂时取消,最后访问时间)
    仅仅是设一个标志是不行的2、至于增加100年是为什么? 我这个是暂时取消,不是永久性的.
    增加100年是错误的,本意是想利用原字段。实际不行,此建议放弃!
      

  3.   

    考虑了一下,第二个方案还是可行的。只不过不是增加固定的年份
    思路:
    当点击“暂时取消”时,计算出“最后访问时间”与当前时间相差的天数,并将该天数当作年数加到最后访问时间”上,查询时取出增加的年数作为参数调整“最后访问时间”
    SELECT * FROM tbl_name where subdate(now(),INTERVAL 14 DAY)>subdate(adddate(最后访问时间,INTERVAL YEAR(最后访问时间)-YEAR(now()) DAY), INTERVAL YEAR(最后访问时间)-YEAR(now()) YEAR)这样可以不增加字段而充分利用原字段。
    存在一个小问题:计算是基于当前时间的,因此跨年份时就不准确了。