2017-02-20 28 views
-2

,所以我想創建一個PHP MySQL的聊天,我在一個頁面上,但在實際的聊天具有的JavaScript load()成功頁,我不能得到它的工作B/C每個聊天有聊天ID(ch_id)附加到URL(所以它看起來像chats.php?ch_id =#)...當我嘗試和自動刷新聊天窗口加載(),它不會帶來聊天ID,所以頁面刷新爲空白。有什麼想法嗎?PHP的MySQL聊天自動加載不工作B/C不能得到得到聊天ID

CODE:HTML

<div id="load_chat"> 
    <?php include('load_chat.php'); ?> 
</div> 

PHP - load_chat.php文件

<div class="scroller" style="height: 525px;" data-always-visible="1" data-rail-visible1="1"> 
    <ul class="chats"> 
    <?php 
     $chat = "SELECT * FROM chats WHERE ch_id = '".$ch_id."'"; 
     $r_ch = mysqli_query($con, $chat); 
     $w_ch = mysqli_fetch_array($r_ch); 

     $get_chat = "SELECT * FROM chat_log WHERE ch_id = '".$ch_id."'"; 
     $run_chat = mysqli_query($con, $get_chat); 
     while($row_chat = mysqli_fetch_array($run_chat)) { 

     $get_sender = "SELECT * FROM users WHERE u_id = '".$row_chat['u_id']."'"; 
     $run_sender = mysqli_query($con, $get_sender); 
     $row_sender = mysqli_fetch_array($run_sender); 

     $get_rec = "SELECT * FROM users WHERE u_id = '".$row_chat['r_id']."'"; 
     $run_rec = mysqli_query($con, $get_rec); 
     $row_rec = mysqli_fetch_array($run_rec); 

    ?>  
    <li class='in'> 
     <img class='avatar' alt='' src='images/<?php echo "".$row_sender['u_img'].""; ?>' /> 
     <div class='message'> 
     <a href='javascript:;' class='name'> <?php echo "".$row_sender['u_fn']." ".$row_sender['u_ln'].""; ?> </a> 
     <span class='datetime'> <?php echo "".date("g:i a", strtotime($row_chat['chat_sent'])).""; ?> </span> 
     <span class='body'> <?php echo "".$row_chat['c_cont'].""; ?> </span> 
      </div> 
    </li> 
    <?php 
    } 
    ?> 
    </ul> 
</div> 

JAVASCRIPT

<script>setInterval(function() { ('#load_chat').load('load_chat.php'); }, 2000)</script> 

澄清......在「().load()函數工作......但是當它刷新時,它正在丟失聊天ID(.com?ch_id =#上的URL)......我想我的主要問題,有沒有辦法通過e聊天ID到子文件夾/文件?該頁面刷新特定頁面(當一個新的聊天組被啓動時,一個文件被創建,其中包含php/mysql查詢以獲取所有記錄的聊天記錄),並且我需要將聊天ID傳遞給這些頁面...我如何去做?

謝謝你爲大家誰在...已經插話說我真的很感激所有幫助我從這個社區得到!

+0

是您的示例JavaScript正是你在你的應用?因爲如果是的話,(我假設的jQuery這裏),你想將其更改爲' ',你錯過了美元符號。 –

回答

0

在你的主PHP文件,聊天的id傳遞給JavaScript這樣的(最好在<head>):

<script>var chat_id = <?= $ch_id ?>;</script> 

現在使用

setInterval(function() { ('#load_chat').load('load_chat.php?ch_id=' + chat_id); }, 2000) 
+0

嗯...我嘗試過了,我得到了同樣的結果......它只是不斷消隱聊天窗口 –

+0

你可能需要添加'$ ch_id = $ _ POST [「ch_id」];'到頂部'load_chat.php' –

+0

我想通了......基本上傳遞了ID是一種痛苦的屁股......我只是設置它,每當一個新的「聊天」被創建,它只是創建一個新的文件和表,並有文件閱讀新表創建...我不知道是否是正確的方式來做到這一點...但它的工作到目前爲止:)謝謝@ChrisG的幫助! –