我正在创建一个社交网站。我有一个警报选项,需要根据它到达各个div的时间一起显示朋友请求和未读消息。实际上我缺乏关于如何显示来自两个表的结果的逻辑亲切地帮助我。
我的表是:
1)sk_friends=>[friendship_id, from_user_id, to_user_id, status,date]
状态包含accepted
或pending
作为值。
2)sk_messages=>[msg_id, from_user_id, to_user_id,text, date, status]
答案 0 :(得分:0)
SELECT * FROM sk_friends JOIN sk_message ON sk_friends.from_user_id = sk_message.from_user_id
这将是从两个表中检索记录的基本查询..
试试这个......但不确定会对你有多大帮助
答案 1 :(得分:0)
如果您尝试同时提取待处理的好友请求和消息,您可能需要考虑添加更通用的“通知”样式表,或将它们作为单独的查询运行。
所以你可以按照以下方式找到一张桌子:
sk_notifications => [id, date, type, from_user, to_user, status]
其中包含两种类型的事件(新消息和新朋友请求) - 您的代码将负责根据通知类型提供不同的操作。
答案 2 :(得分:0)
请参阅下面的查询
select * from sk_friends where (logged_in_user_id in from_user_id or logged_in_user_id in to_user_id) and status='pending';
和消息未读
select * from sk_messages where to_user_id=logged_in_user_id;