Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
MySQL на примерах. Авторы: Кузнецов М.В., Симдянов И.В. Социальная инженерия и социальные хакеры. Авторы: Кузнецов М.В., Симдянов И.В. Программирование. Ступени успешной карьеры. Авторы: Кузнецов М.В., Симдянов И.В. PHP Puzzles. Авторы: Кузнецов М.В., Симдянов И.В. PHP на примерах (2 издание). Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум MySQL

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: Чатец пишу вот. Не получается.
 
 автор: Frag   (14.07.2006 в 17:24)   письмо автору
 
 

Чат решил сделть на php + mysql. Сервера дома поднял windowsXP Apache + php +mysql Регистрационные формочки написал. Текстовый блок решил сделать из тэга textarea со свойством readonly, а все данные о пользователях и их сообщения хранить в базе mysql. Сделал форму ввода сообщений и запустил. Все работает, только третий день не могу разобраться с обновлением экрана этого самого чата, то есть с обновлением textarea. Написал на javascript функцию, которая при помощи php скрипта подключается к базе данных mysql и присваивает значение суммы всех сообщений переменной textarea.value. Такая операция происходит раз в 10 сек. Для проверки открываю два сеанса браузера, иду к себе в чат от имени разных пользователей, проверяю. Предположим подключился user 1 потом user 2, сообщение от user 2 через 10 сек не высвечивается на textarea пользователя user 1, хотя автор сообщения сразу его видит, в таблице mysql сообщение создается при отправке, но у user 1 эти изменения как будто не происходили... мистика.. Каждый сеанс связи я завершаю командой mysql_close(татата), помогите разобраться. Все пользователи базы заходят под root ом.

   
 
 автор: Loki   (14.07.2006 в 19:25)   письмо автору
 
   для: Frag   (14.07.2006 в 17:24)
 

выводите на экран обе контрольные суммы (и локальную и удаленную). Как я понимаю, необходимость обновления проверяется по ним. Тогда будет ясно почему не обновляются данные у пользователя user1

   
 
 автор: Frag   (14.07.2006 в 20:10)   письмо автору
 
   для: Loki   (14.07.2006 в 19:25)
 

Необходимость обновления содержимого textarea.value определяется событием onload тега body в html. Это событие onload вызывает функцию java, которая каждые 10 сек. вызывает сама себя, и присваивает textarea.value результат выполнения другой функции, уже на php, которая в свою очередь осуществляет подключение к базе данных mysql, считывание данных из таблицы chat, и вывод их в textarea.value. В связи с этим я не очень понимаю, что значит "контрольная сумма" локальная и удаленная? Сумма чего? ... Данные у пользователя user1 не обновляются по какой-то странной причине, как будто user1 не чувствует изменений таблицы chat (которые можно узреть из командной строки управления мускулом). Для user1 она так и остается в том виде, в котором была получена при первом входе в чат. Кстати если ввести новое сообщение user1 пользователем, и нажать на отправку, то появляются и только что написанное послание, и предыдущее сообщение от user2. В этот момент начинает отставать по кол-ву полученных сообщений user2. Вот никак не могу въехать в принцип обновления этих самых таблиц в sql е ... По моей идее любое отставание в получении сообщений должно пропадать каждые 10 сек. Может быть без обновления страницы это совсем невозможно??? HEEELP

   
 
 автор: Loki   (14.07.2006 в 23:55)   письмо автору
 
   для: Frag   (14.07.2006 в 20:10)
 

У вас яваскрипт каждые 10 сек тянет с сервера все сообщения, или просто проверяет обновления? логично проверить какую информацию отдает скрипт, к которому обращается JS

   
 
 автор: Frag   (14.07.2006 в 23:59)   письмо автору
 
   для: Loki   (14.07.2006 в 23:55)
 

У меня каждые 10 сек выводится на экран содержимое таблицы chat. На предмет обновления ничего не проверяется. Но изменения в таблице явно происходят. Я уже проверил и перепроверил все. Либо менять принцип вывода на экран данных, либо разобраться с таким скверным поведением mySQL сервера... Скорее всего я чего-то недопонимаю в транзакциях, с другой стороны, причем тут транзакции.. Но они ближе всего по теме. В интернете ответ на вопрос тоже пока не нашел. Никому видимо это не инетересно...

   
 
 автор: Frag   (15.07.2006 в 00:26)   письмо автору
 
   для: Frag   (14.07.2006 в 23:59)
 

Пациент: Доктор, меня все игнорируют...
Доктор: Кто здесь?!

   
 
 автор: Loki   (15.07.2006 в 12:16)   письмо автору
 
   для: Frag   (14.07.2006 в 23:59)
 

я уже написал: проверяйте какую информацию отдает скрипт к которому обращается JS, если он отдает все верно - ищите ошибку в JS

   
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования