从Mysql数据库每周显示一条记录

时间:2017-10-06 15:47:49

标签: php mysql mysqli

我有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周的记录应该是可见的。

我完全空白......所以没有试过任何代码......

您的帮助或指南表示赞赏...

1 个答案:

答案 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