Closed. This question needs to be more focused。它当前不接受答案。
                            
                        
                    
                
                            
                                
                
                        
                            
                        
                    
                        
                            想改善这个问题吗?更新问题,使其仅通过editing this post专注于一个问题。
                        
                        2年前关闭。
                                                                                            
                
        

我正在开发一个聊天应用程序(Android + PHP),并且具有以下mysql数据库:
TABLE用户:用户名(UNIQUE),psw,电子邮件(PK),位置,user_id(唯一),名称

表chat_user:id_chat_user,user_id1,user_id2

表聊天:id_chat(PK),id_chat_user,user_id,消息,时间戳

用php uuid函数生成User_id,然后在md5中加密。
现在,我应该处理角色,以确保用户仅需要阅读其聊天记录。
我可以使用什么方法?

最佳答案

您可以执行以下操作:


要显示已登录用户的所有聊天记录,请执行以下操作:

SELECT * FROM chat_user WHERE user_id1 = loggedInUserId OR user_id2 = loggedInUserId LIMIT 10;
其中loggedInUserId是已登录用户的ID。
要向已登录用户显示来自其聊天之一的所有消息

SELECT t2.* FROM chat t1 JOIN chat_user t2 ON (t1.id_chat_user = t2.id_chat_user) WHERE (t1.user_id1 = loggedInUserId OR t2.user_id2 = loggedInUserId) AND t2.id_chat = chat_id ORDER BY timestamp DESC LIMIT 100;
其中loggedInUserId是已登录用户的ID,chat_id是选择聊天的ID。

09-10 17:08