Javascript-форум (https://javascript.ru/forum/)
-   jQuery (https://javascript.ru/forum/jquery/)
-   -   Добавление в чат новых сообщений. (https://javascript.ru/forum/jquery/28627-dobavlenie-v-chat-novykh-soobshhenijj.html)

xJAMESx 27.05.2012 13:47

Добавление в чат новых сообщений.
 
Я абсолютно не знаю Jquery, но мне нужно реализовать такую вещь:
При посещении страницы скрипт отправляет серверу запрос о сообщениях, которые получил пользователь. На это сервер должен выдать все сообщения, соответствующие условиям(id отправителя и получателя).
Далее каждые 3 секунды клиент спрашивает сервер о наличии новых сообщений и при и наличии добавлять в <div> новые.
Если пользователь отослал сообщение, то оно добавляется в <div>, при этом не перезагружая все сообщения.

Пример моей реализации:
//$nummessages - колличество сообшений вообще
//$currentmessage - сообщение, которое добавится в данном цикле
//$myrow - id отправителя
//$name - Имя отправителя
//$surname - Фамилия отправителя
for($i=0;$i<$nummessages;$i++)
{
$currentmessage = mysql_fetch_array($messages);
//Получаем имя отправителя
$myrow = $currentmessage['from'];
$myrow = mysql_fetch_array(mysql_query("SELECT * FROM `users` WHERE `id`='$myrow'",$db));
$name = $myrow['name'];
$surname = $myrow['surname'];
$currentmessage = $currentmessage['text'];
echo <<<END
					$surname $name: $currentmessage<br>
END;


Ниже расположена форма ввода, которая посылает введённый текст, при этом обновляя всю страницу.
<form action="" method = "post" ">
				 <div id='formBlock'>
					 <input type='text' name='newmessage' class='innerForm' placeholder='Write a message.. '>
				 </div>
				</form>


Помогите хоть чем-нибудь... Порыскав по статьям о Jquery+Ajax я пришёл в ужас потому, что не понял ни чего...

Deff 27.05.2012 15:09

Цитата:

Сообщение от xJAMESx
Ниже расположена форма ввода, которая посылает введённый текст, при этом обновляя всю страницу.

Чат обычно делают в iframe дабы не портить жизнь пользователю, (если конечно ресурc не чисто чат, id обычно определяет сервер, по установленным кукам авторизации. Он жа анализирует кто там кому отправляет, хотя в чате - обычно - давят на ник, который просто дублирует Ник в форму отправки вместе с обрамляющим всё ответное сообщение div (ом) Ник стоит вначале div

xJAMESx 27.05.2012 15:52

Сервер находит ID по кукисам, но как мне сделать так, чтобы страница не обновлялась после каждого отосланного сообщения и при полученных новых сервер сам информировал меня и добавлял к уже загруженным?

atlantis 27.05.2012 17:58

Всё с помощью AJAX. :)
Вот тут можешь почитать: жмяк

Deff 29.05.2012 23:13

Цитата:

Сообщение от xJAMESx (Сообщение 176876)
Сервер находит ID по кукисам, но как мне сделать так, чтобы страница не обновлялась после каждого отосланного сообщения и при полученных новых сервер сам информировал меня и добавлял к уже загруженным?

Либо аяксом либо перенаправляешь ответ во фрейм => http://htmlbook.ru/html/form/target


Часовой пояс GMT +3, время: 15:20.