我有mysql表如下:
|id | subject | link | week_number
------------------------------------
| 1 | ABC | link1 | week-1
| 2 | DEF | link2 | week-2
| 3 | GHI | link3 | week-3
------------------------------------
现在我希望在登录后一周向用户显示第1周记录,并从注册日期开始作为周计数的初始日期....
然后在下周,第1周和第2周应该可见,
然后在下周,第1周,第2周和第3周的记录应该是可见的。
我完全空白......所以没有试过任何代码......
您的帮助或指南表示赞赏...
答案 0 :(得分:1)
如果您有注册日期,只需让您的工作更轻松,并将列week_number
更改为days_after_reg
- 并将值更改为7,14,21
然后你只需要将这个数字与当前的偏移量进行比较:
SELECT * from linktable WHERE `days_after_reg` <= datediff(Now(), UserRegistrationDate)
使用变量插入用户日期,或“加入”表格。 请注意,此处的连接没有连接条件,因此请不要忘记过滤用户ID(或名称或其他内容)。
SELECT l.subject, l.link from linktable l cross join
users u WHERE `l.days_after_reg` <= datediff(Now(), u.registrationDate)
and u.id=5