我有一个社交网络,所以博客只有你可以为用户说出一个网站的小部件,所以每个用户都可以有一个博客,我想让这个博客尽可能好。当您转到用户博客页面时,它会显示当月的所有博客。
我的问题是,如何在这边显示一栏 2009年7月 2009年6月 2009年5月 2009年4月 2009年3月 2009年2月
问题是它应该只列出自用户加入网站直到当前的几个月,所以从现在开始加入2年前的用户将拥有24个这样的链接,而用户只需1个月或更新只会看到1?
系统使用php / mysql
答案 0 :(得分:2)
假设你:
您可以尝试这样的事情:
select concat(YEAR(date), '-', MONTH(date)) as month, count(*) as num
from ab_post
where user_id = 1
group by YEAR(date), MONTH(date)
order by YEAR(date) desc, MONTH(date) desc;
它会:
这意味着你会得到这样的东西:
+--------+-----+
| month | num |
+--------+-----+
| 2008-6 | 1 |
| 2008-5 | 1 |
| 2008-4 | 3 |
| 2008-3 | 1 |
+--------+-----+
要注意:
作为旁注,这将在1月到9月之间给出1个数字的数字:由您在MySQL的帮助中找到正确的格式; - )
玩得开心!
答案 1 :(得分:1)
这取决于数据库的结构。通常,博客帖子具有与之关联的日期。您通常可以查询数据库以获取每个用户的唯一月份列表。您使用的是像Wordpress这样的OSS系统吗?您能否对您的架构有任何见解?