Чат - глотание сообщений.

Opik

Новичок
Чат - глотание сообщений.

Понимаю, тема с чатом обсуждалась неоднократно, но нужной проблемы, вернее её решения так и не нашел. Глюк появляется тогда, когда база чата пустая, а именно:
Я добавляю первое сообщение в чат - ID у него ставится 1.
Далее делаю селект:
select ... from chat where id > $id где $id при добавлении становится 1
получается условие 1 > 1, что не равно истиной и сообщение не показывается. В то время как сообщения уже есть в базе, то всё идет на УРА. Но устаревшие сообщения удаляются и снова появляется проблема.
Очень прошу помочь, заренее спасибо.
 

ARN

Guest
почему бы не сделать 1 > 0 ?
или в чем вопрос то?
 

Кром

Новичок
Пробема совершенно непонятна. Ну сделай условие больше или равно - <=. В этом что ли трудность? :)
 

Opik

Новичок
Кром
"Пробема совершенно непонятна. Ну сделай условие больше или равно - <=. В этом что ли трудность? :)"
Нет, трудность не в этом, <= - пробовал так делать. Но:
Если я сообщения не вставлял, а просто обновил чат, то откуда узнать ID? 0? и показывать сразу все сообщения из чата? нет, тогда делается выборка последнего сообщения.(По максимальному ID) и при дальшейних обновлениях(без добавления сообщений) это последнее сообщение будет дублироваться.

-~{}~ 29.04.05 14:00:

ARN
"1 > 0 ?"
запихай в таблицу со значением AUTO_INCREAMENT значение 0?
 

Кром

Новичок
Что ты несешь я не понимаю.
Неужели трудно найти в сети описание того, как сделать простейший чат?
Когда пользователь добавляет сообщение, пишешь время добавления сообщения. Когда другой пользователь обновляет окно чата, проверяешь есть ли в базе сообщения, после его предыдущего коннекта к сайту. Если есть, высылаешь их ему. И выставляешь ему текущее время, как время последнего соединения с сайтом.
Больше ничего не надо.
 

Opik

Новичок
"Неужели трудно найти в сети описание того, как сделать простейший чат?"
Во первых не простейший.
Во вторых за помощью я пришел сюда, т.к в всеми любимом гугле ничего путёвого не нашел, или у тебя это лучше получается? тогда помоги советом как искать в гугле.
В третьих вместо времени и используется ID, т.к пользователей может быть много и время сообщений совпадать, ID же повторяться не будут.
В четвертых ПХПклуб это последнее место, куда я уже пошел за помощью, т.к ничего толкового нигде не нашел по данной проблеме.
 

Разгильдяй

Новичок
Автор оригинала: Кром
Что ты несешь я не понимаю.
Неужели трудно найти в сети описание того, как сделать простейший чат?
Когда пользователь добавляет сообщение, пишешь время добавления сообщения. Когда другой пользователь обновляет окно чата, проверяешь есть ли в базе сообщения, после его предыдущего коннекта к сайту. Если есть, высылаешь их ему. И выставляешь ему текущее время, как время последнего соединения с сайтом.
Больше ничего не надо.
Не стоит футболить пользователя, если ты не понял простейшую задачу. Прочитай первое сообщение внимательно, еще раз.

toOpik
А вам молодой человек, не рекомендую писать чаты с отсылкой/чтением сообщений в базу/файлы. Это довольная старая, устаревшая модель, которая непонятно по каким причинам дожила до сегодняшних дней. В современном чате все должно происходить в памяти.
 

ARN

Guest
Opik при чем тут auto_inc
id > $id
1 > 0

ну или перед запросом делай
$id--; чтобы id было больше $id

или проверяй, если $id=1; значит $id=$id-1;

-~{}~ 29.04.05 15:43:

>В современном чате все должно происходить в памяти.

в чьей памяти?
 

Opik

Новичок
Разгильдяй
Ок, хоть услышал достойный ответ. Есть ли у вас какая нибудь инфа по данному сабжу(что да как зачем и почему), желательно на PHP, на крайний случай Perl.
 
Сверху