你好朋友我正在建立一个社交网络而且我被困在最近的访问者模块中,任何人都可以帮助我使用数据库和功能。我尝试了很多,但我无法得到逻辑。 orkut有这个功能。我知道应该做些什么来制作这个模块。
逻辑是停留在我认为对访问者有访问者的事情上假设2将访问用户假设3然后基于什么基础我的uid将存储在数据库中以及如何执行该过程。
答案 0 :(得分:1)
我猜你搞砸了。
首先,如果您还没有,则必须创建会话表以获取已记录用户的时间戳。 你必须创建一个“朋友”表来连接2个不同的用户 - 这是友谊 - 只显示他/她最近登录的朋友。
因此,用户执行登录并将会话表中的用户ID插入到会话表中。当您需要向最近登录的朋友显示“面板”时,您必须从2个表中进行查询:友谊和会话,如下所示:
session (session_id, uid, lastTimeLogged)
where lasTimeLogged is a Timestamp column
friendship (uid, uid_friend)
uid_friend将是uid(用户)朋友ID(1是2的朋友,1是3的朋友,依此类推。)
获取最近记录的“朋友”
SELECT uid_friend FROM friendship
INNER JOIN session
ON friendshio.uid_friend = session.uid
AND lastTimeLogged < DATE_SUB(CURRENT_TIMESTAMP, 30 MINUTE)
WHERE uid = logged_user_id
这应该会在过去30分钟内收到最后记录的朋友。这只是它应该如何工作的一个示例。我也没有检查过SQL代码。希望它能帮到你!
编辑 - 上个月获得最后10位访问者
SELECT uid_friend FROM friendship
INNER JOIN session
ON friendshio.uid_friend = session.uid
AND lastTimeLogged < DATE_SUB(CURRENT_TIMESTAMP, INTERVAL 1 MONTH)
WHERE uid = logged_user_id
ORDER BY lastTimeLogged DESC
这样就可以了。注意:代码未经过测试!