【发布时间】:2009-04-06 14:31:18
【问题描述】:
我有一个社交网站,用户可以在其中更新他们的心情、个人资料并添加照片。
我目前正在使用以下结构将所有更新记录在名为“update_log”的表中:
update_id int (auto),
userid int,
update_type int (1=profile, 2=photo, 3=mood)
pictureid int
mood_a int
mood_b int
mood_c int
update_time int
个人资料更新记录: (自动), 1, 1, 0, 0, 0, 0, 1239003781
图片更新记录: (自动), 1, 2, 11544, 0, 0, 0, 1239003781
心情更新记录: (自动), 1, 3, 0, 1, 490, 70, 1239003781
对于照片记录,有一个对应的表 userphotos 保存标题和文件名/位置数据
对于心情,有一个心情查找表来保存心情描述(即,我很懒=\)
我需要做的是查询此数据以显示在用户的个人资料页面上,它会在过去 x 小时的活动中为他们最喜欢的任何用户显示此提要。
我遇到的问题是,如果用户在半小时左右的时间内上传了五张照片,我只希望它成为提要中的一行,而不是每张照片上传的条目。
个人资料更新也是如此。
我需要查询数据,以便用户看到如下内容:
用户 x 更新了他们的心情! (我累了)2009 年 4 月 4 日晚上 10:35
用户 y 在 2009 年 4 月 4 日晚上 10:20 上传了 x 张新照片
用户 x 于 2009 年 4 月 4 日晚上 10:15 更新了他们的个人资料
我如何将照片更新分组到一个查询中返回的记录中,基于所有记录在一个小时内?
有没有办法用一个查询来做到这一点?
谢谢!
【问题讨论】:
-
如果用户在 24 小时内每 30 分钟上传 1 张照片会怎样?您想要单行 48 张照片吗?
-
我不确定。我一直在尝试用 PHP 解析这些数据,实际上我变得比开始时更加困惑。该死的。