标题:
如何用最简单的方法实现如下功能?
[打印本页]
作者:
DEATHKING123
时间:
2006-4-12 12:19
标题:
如何用最简单的方法实现如下功能?
原文题:
一个客户表,一个访问记录表
已有功能
列出每个客户的最后出访时间,如果最后出访时间超过2星期,则会自动提醒.
提醒时列出所有2星期内没有访问的客户列表
现想实现如下功能:
在列表中的客户,如果想暂时取消访问某个客户的提醒,点击该客户对应的按钮即可。
例如:
客户名称 最后访问时间 操作
小王 2005-01-05 暂时取消提醒
小张 2005-01-20 暂时取消提醒
当我点小王对应的暂时取消按钮时,小王就暂时不会出现在提醒的列表中,
而这个暂时是从点击按钮当天开始到2个星期之后,也就是相当于点击后修改了最后访问时间为点击当天。
如何用最简单的方法实现如下功能?
注:不能直接修改最后访问时间,这样做造成信息不准确
作者:
陶江
时间:
2006-4-12 12:20
以下讨论基于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)
这样可以不增加字段而充分利用原字段。
存在一个小问题:计算是基于当前时间的,因此跨年份时就不准确了。
欢迎光临 编程开发论坛 (http://bbs.lihuasoft.net/)
Powered by Discuz! 6.0.0