Хорошо, что я пытаюсь на самом деле пытаться достичь, чтобы создать окно чата, похожее на fb, без обновления страницы. У меня есть две таблицы в моей базе данных (phpmyadmin), где первая таблица, я храню 2 идентификатора чата пользователей (уникально) и позже сохраняю их сообщение в другой таблице, чтобы я мог получить их историю чата только по их уникальному идентификатору.
Таким образом, я смог отправить свой идентификатор (уникальный), используя метод get, чтобы отправить уникальный идентификатор во второй div, а затем запустить через базу данных с помощью php и отобразить их разговор.
Итак, как я могу сделать это в ajax, чтобы страница не обновляла ребята? Какой-то гид по этому поводу? Я пытался использовать Google для этого, но я не могу найти способ просто потому, что я не очень хорошо знаю ajax.
Цель, когда я хочу, чтобы она не обновляла страницу, заключается в том, что я использую JQuery, чтобы скрыть и показать чат-чат. Когда страница обновляется, разговор исчезает. Мне жаль, если мое объяснение не на месте, надеюсь, кто-то поймет мою проблему и направит меня в этом: D
Итак, вот мои коды …
Этот код находится в моем первом div. Он в основном отображает всех пользователей, с которыми я общался раньше …
<div> <ul style="list-style-type: none;"> <?php include 'connectDB.php'; //retrieve all the message history of yours from the PrivateMessage table $query = "SELECT * FROM `messagecheck` WHERE `sender_a` = '$userId' OR `sender_b` = '$userId';"; $result = mysqli_query($dbconnect,$query); if(mysqli_num_rows($result) > 0) { //if exist, display the history while($row = mysqli_fetch_assoc($result)) { ?> <a href="Item_v1.php?msgId=<?php echo $row['exist']?>"> <li style="color:black; width:100%; padding-top:5px" > <input id="IDValue" name="IDValue" value="<?php echo $row['exist']?>" > <?php //if the sender_a id is not my id, display the name //if sender_a is my id, then display sender_b //Because we dont want to see our name in the chat History if($row['sender_a'] != $userId) { $senderName = $row['sender_a']; include 'connectDB.php'; $nameSearch = "SELECT `fName`, `lName` FROM `register` WHERE `id`='$senderName';"; $Searchresult = mysqli_query($dbconnect,$nameSearch); $Searchrow = mysqli_fetch_assoc($Searchresult); echo $Searchrow['fName'] ." ". $Searchrow['lName']; } else { $senderName = $row['sender_b']; include 'connectDB.php'; $nameSearch = "SELECT `fName`, `lName` FROM `register` WHERE `id`='$senderName';"; $Searchresult = mysqli_query($dbconnect,$nameSearch); $Searchrow = mysqli_fetch_assoc($Searchresult); echo $Searchrow['fName'] ." ". $Searchrow['lName']; } ?> </li> </a> <?php } } ?> </ul> </div>
Поэтому в основном, когда я нажимаю имена, которые будут в теге <li>, он должен размещать сообщения в другом div (который является div ниже) …
<!-- //Message Content! --> <div style="width:100%;max-height: 300;border: 2px solid #1F1F1F;overflow: auto;"> <?php if($_GET) { $msgId = $_GET['msgId']; } if(!empty($msgId)) { include 'connectDB.php'; $collectMsgQuery = "SELECT * FROM `privatemessage` WHERE `existing_id` = $msgId"; $MsgResult = mysqli_query($dbconnect, $collectMsgQuery); if(mysqli_num_rows($MsgResult) > 0) { while($Msgrow = mysqli_fetch_assoc($MsgResult)) { if($userId == $Msgrow['from_who']){ ?> <h4 class="ifMe"><span class="ifMeDesign"><?php echo $Msgrow['message'] ?></span></h4> <?php }else if ($userId == $Msgrow['to_who']) { ?> <h4 class="notMe"><span class="notMeDesign"><?php echo $Msgrow['message'] ?></span></h4> <?php } } } } ?> </div>
PS: Я не уверен, как работать с ajax, поэтому я отправляю его здесь. Любая помощь будет замечательной! Заранее спасибо ! : D