php
  • html
  • ajax
  • 2017-04-20 144 views 0 likes 
    0

    我正在PHP上構建一個聊天服務器。更像Facebook一對一聊天。我無法弄清楚顯示正在聊天的兩個用戶的消息的查詢。我有一個我可以聊天的人的名單,我通過錨標籤來做這件事。但發件人的郵件在聊天窗口中可見,即使發件人從未發送過郵件。如果用戶從未與聊天列表中的用戶聊天,我無法找到一種不顯示任何消息的方法。類似功能的使者

    這裏是清單

    echo"<a href='chat/public/01_index.php?id2=$xyz'>Chat</a>"; 
    

    這裏的代碼查詢

    public function getMessages($rid,$userid) { 
        $messages = array(); 
        $query = <<<QUERY 
        SELECT 
        `chat`.`message`, 
        `chat`.`sent_on`, 
        `chat`.`rec_id`, 
        `user1`.`id`, 
        `user1`.`first_name` 
        FROM `user1` 
        JOIN `chat` 
        ON `chat`.`user_id` = `user1`.`id` WHERE `user1`.`id`=$rid or `user1`.`id`=$userid 
        ORDER BY `sent_on` 
        QUERY; 
    
    +1

    你能給我們提供你的應用程序的更多細節嗎?並使用準備好的請求而不是連接值。 – Hulothe

    回答

    0

    它看起來像你說的,其中用戶1 =無論是參與用戶的,但你不檢查用戶2.

    public function getMessages($rid,$userid) { 
        $messages = array(); 
        $query = <<<QUERY 
        SELECT 
        `chat`.`message`, 
        `chat`.`sent_on`, 
        `chat`.`rec_id`, 
        `user1`.`id`, 
        `user1`.`first_name` 
        FROM `user1` 
        JOIN `chat` 
        ON `chat`.`user_id` = `user1`.`id` WHERE (`user1`.`id`=$rid AND `user2`.`id` = $userid) or (`user1`.`id`=$userid AND `user2`.`id` = $rid) 
        ORDER BY `sent_on` 
        QUERY; 
    
    +0

    user2表不存在。我有兩個表:user1從中檢索登錄用戶的ID,並在它們之間發生連接。在聊天表中,我詳細介紹了senderid,receiverid,message,sent_on等消息 –

    相關問題