Помогите с jquery ajax php

программирование php jQuery AJAX

Это чат
Каждые 8 секунд я передаю данные в файл online.php со своим id в свою очередь php перезаписывает время и если я нахожусь меньше 8 сек то должно просто удалить меня но этот запрос добавляет меня много раз на страницу а должен просто обновлять список пользователей

js

setInterval(function(){
$.ajax({
url : 'online.php',
dataType : 'text',
data : {id : $('.id').text()},
type : "POST",
success : function (data){
$('.users').append(data);
}
});
}, 8000);


php
$id=$_POST['id'];
$sql=mysql_query("UPDATE `users` SET `time`='".time()."' WHERE `id`='".$id."' LIMIT 1"); //записываю своё время в бд


$sql="SELECT `login`,`ur` FROM `users` WHERE `time`>'".time()."'-10 ORDER BY `ur` desc";
$result = mysql_query($sql, $dbcnx) or die(mysql_error());
while ($row = mysql_fetch_object($result)){

echo "<div class='UConteiner'><p>".$row->login."</p></div>";} //это ответ который поступает обратно с сервера




я понимаю что сформировано по дурацки но по всем урокам которые я прочитал это должно работать примерно так но оно так не работает как надо

Подскажите пожалусто что тут не так?
Ответы:
Во-первых, где знаки припинания?!! Вы сами понимаете, что написано?
Во-вторых, что именно не работает? Ajax или в php проблема, на каком этапе проблема?
В-третьих, контролируйте через firebag выполнение скриптов, все ошибки будут видны
В-четвёртых, так подставлять переменные в запрос плохо может закончится (WHERE `id`='".$id."')
В-пятых, какое время Вы пытаетесь так записать('".time()."')? Это полнейший бред
В-шестых, сформируйте сначала переменную, а потом уже подставляйте в ajax запрос( data : {id : $('.id').text()})
jquery функция .append добавляет что-то в контейнер.
вам по видимому нужно чтоб то что пришло с сервера на добавялось, если оно уже там есть.
для этого неплохо было бы ещё возвращать айдишку пользователя типа такого:
<div class='UConteiner userId_1234'>
а на клиентской стороне проверять:
success : function (data){
                  if ($('.users .userId_' + $('.id').text()).length == 0) {
                      $('.users').append(data);
                  }
               }


12 лет назад

RPI.su - самая большая русскоязычная база вопросов и ответов. Наш проект был реализован как продолжение популярного сервиса otvety.google.ru, который был закрыт и удален 30 апреля 2015 года. Мы решили воскресить полезный сервис Ответы Гугл, чтобы любой человек смог публично узнать ответ на свой вопрос у интернет сообщества.

Все вопросы, добавленные на сайт ответов Google, мы скопировали и сохранили здесь. Имена старых пользователей также отображены в том виде, в котором они существовали ранее. Только нужно заново пройти регистрацию, чтобы иметь возможность задавать вопросы, или отвечать другим.

Чтобы связаться с нами по любому вопросу О САЙТЕ (реклама, сотрудничество, отзыв о сервисе), пишите на почту [email protected]. Только все общие вопросы размещайте на сайте, на них ответ по почте не предоставляется.