Форум программистов, компьютерный форум, киберфорум
PHP для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.85/27: Рейтинг темы: голосов - 27, средняя оценка - 4.85
59 / 59 / 16
Регистрация: 14.06.2010
Сообщений: 1,190
Записей в блоге: 5
1

Уведомление о новом входящем сообщении

21.02.2011, 15:40. Просмотров 4974. Ответов 14
Метки нет (Все метки)


Ребят, подкиньте идеи, как организовать уведомление о новом входящем сообщении в виде:
Мои Сообщения(+X шт.) - где X, число новых непрочитанных сообщений!

p.s.
уже сделал систему обмена сообщениями между пользователями с помощью БД MySQL....... теперь хочу научиться уведомлять о новых сообщениях......
зараннее благодарен вам за советы!
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
21.02.2011, 15:40
Ответы с готовыми решениями:

Уведомление о новом сообщении
Всем доброго времени суток! Никак не могу найти варианта где я бы мог видеть свои новые сообщения....

Как реализовать моментальное уведомление о новом сообщение
Добрый день,пишу чат,возникла проблема,попробую объяснить,например пользователь написал сообщение...

Вывод уведомления о входящем сообщение
Подскажите пожалуйста как прописать вывод уведомления о входящем сообщение ? В полной версии сайта...

Уведомление о входящем сообщении в локальном чате Delphi
Такая ситуация. Реализовано клиент-серверное приложение. Пользователь авторизируется и оформляет...

14
110 / 110 / 4
Регистрация: 25.05.2009
Сообщений: 415
21.02.2011, 15:44 2
перед построением меню делаешь запрос в бд в таблице с сообщениями по фильтру получатель и состоянию сообщения(новое)
PHP
1
2
$count=mysql_fetch_array(mysql_query (SELECT COUNT(*) as coun FROM message where poluchat='такойто' and sost_mess='new'));
echo "<a href='страница сообщений'>Мои сообщения (".$count['coun'].")</a>";
1
59 / 59 / 16
Регистрация: 14.06.2010
Сообщений: 1,190
Записей в блоге: 5
21.02.2011, 15:50  [ТС] 3
Цитата Сообщение от TOI_I_IA Посмотреть сообщение
перед построением меню делаешь запрос в бд в таблице с сообщениями по фильтру получатель и состоянию сообщения(новое)
PHP
1
2
$count=mysql_fetch_array(mysql_query (SELECT COUNT(*) as coun FROM message where poluchat='такойто' and sost_mess='new'));
$count['coun'] - количество сообщений
прокоменть пожалуйста что к чему!
0
110 / 110 / 4
Регистрация: 25.05.2009
Сообщений: 415
21.02.2011, 15:57 4
COUNT(*) эта функция подсчитывает количество строк в таблице в данном случае подсчитывает количество строк в которых получатель это определенный пользователь и состояние сообщение новое(непрочитанное)
а эта строка COUNT(*) as coun в ней мы это значение записываем в виртуальный столбец coun что бы его получить

Добавлено через 2 минуты
echo "<a href='страница сообщений'>Мои сообщения (".$count['coun'].")</a>";
ну а эта ссылка которую ты запихиваешь в меню после запроса
0
59 / 59 / 16
Регистрация: 14.06.2010
Сообщений: 1,190
Записей в блоге: 5
21.02.2011, 16:01  [ТС] 5
Цитата Сообщение от TOI_I_IA Посмотреть сообщение
COUNT(*) эта функция подсчитывает количество строк в таблице в данном случае подсчитывает количество строк в которых получатель это определенный пользователь и состояние сообщение новое(непрочитанное)
а эта строка COUNT(*) as coun в ней мы это значение записываем в виртуальный столбец coun что бы его получить

Добавлено через 2 минуты
echo "<a href='страница сообщений'>Мои сообщения (".$count['coun'].")</a>";
ну а эта ссылка которую ты запихиваешь в меню после запроса
типа надо сделать поле (количество сообщений) для каждго пользователя в таблице "сообщения", и потом с помощью COUNT считаем и записываем, отнимаем от старого значения - новое при появлении сообщений, и разницу выводим.....а при прочтении обновляем значение??? так както? шото немного невкурюсь....
0
110 / 110 / 4
Регистрация: 25.05.2009
Сообщений: 415
21.02.2011, 16:03 6
ни чего создавать не надо. У тебя в таблице есть поле состояние сообщения(прочитанное, непрочитанное)
0
59 / 59 / 16
Регистрация: 14.06.2010
Сообщений: 1,190
Записей в блоге: 5
21.02.2011, 16:10  [ТС] 7
Цитата Сообщение от TOI_I_IA Посмотреть сообщение
ни чего создавать не надо. У тебя в таблице есть поле состояние сообщения(прочитанное, непрочитанное)
типа надо добавить поле состояния прочит\непрочит, и дальше если считываеш сообщения - то устанавливаеш в это поле значение прочит, а пока невывели их - стоит значение непрочит.??
0
110 / 110 / 4
Регистрация: 25.05.2009
Сообщений: 415
21.02.2011, 16:15 8
ну да при открытии сообщения делаешь Update поля состояния на прочитанное. Для упрощения когда будешь создавать столбец поставь по умолчанию в столбце непрочитанное и в процедуре добавления в бд ни чего дописывать не придется.
1
59 / 59 / 16
Регистрация: 14.06.2010
Сообщений: 1,190
Записей в блоге: 5
21.02.2011, 16:17  [ТС] 9
Цитата Сообщение от TOI_I_IA Посмотреть сообщение
ну да при открытии сообщения делаешь Update поля состояния на прочитанное. Для упрощения когда будешь создавать столбец поставь по умолчанию в столбце непрочитанное и в процедуре добавления в бд ни чего дописывать не придется.
спс щас буду пробовать)
0
110 / 110 / 4
Регистрация: 25.05.2009
Сообщений: 415
21.02.2011, 16:22 10
Давай. Удачи
0
59 / 59 / 16
Регистрация: 14.06.2010
Сообщений: 1,190
Записей в блоге: 5
21.02.2011, 17:01  [ТС] 11
Цитата Сообщение от TOI_I_IA Посмотреть сообщение
Давай. Удачи
сделал таким образом:

PHP
1
2
 $count = mysql_query("SELECT * FROM  messages WHERE author='$auth' AND poluchatel='$login' AND stat='0' " ); 
     $new_msg=mysql_num_rows($count);
0
110 / 110 / 4
Регистрация: 25.05.2009
Сообщений: 415
21.02.2011, 17:06 12
Цитата Сообщение от Sanu0074 Посмотреть сообщение
сделал таким образом:

PHP
1
2
 $count = mysql_query("SELECT * FROM  messages WHERE author='$auth' AND poluchatel='$login' AND stat='0' " ); 
     $new_msg=mysql_num_rows($count);
все верно. Единственное если делать таким образом
PHP
1
2
 $count = mysql_query("SELECT * FROM  messages WHERE author='$auth' AND poluchatel='$login' AND stat='0' " ); 
     $new_msg=mysql_num_rows($count);
то подсчетом у тебя занимается PHP что при больших объемах информации может притормозить его работу.

по этому лучше пользоваться функцией MySql count(*)
PHP
1
2
$query= mysql_fetch_array(mysql_query ("SELECT COUNT(*) as coun FROM  messages WHERE poluchatel='$login' AND stat='0' "));
     $new_msg=$query['coun'];
и убери из запроса автора а то у тебя буду выбираться только сообщения от одного автора а не от всех пользователей кто ему пишет
2
59 / 59 / 16
Регистрация: 14.06.2010
Сообщений: 1,190
Записей в блоге: 5
21.02.2011, 19:33  [ТС] 13
Цитата Сообщение от TOI_I_IA Посмотреть сообщение
все верно.
всё сделал, пашет норм
0
110 / 110 / 4
Регистрация: 25.05.2009
Сообщений: 415
21.02.2011, 19:35 14
Если что обращайся
0
59 / 59 / 16
Регистрация: 14.06.2010
Сообщений: 1,190
Записей в блоге: 5
21.02.2011, 19:38  [ТС] 15
Цитата Сообщение от TOI_I_IA Посмотреть сообщение
Если что обращайся
___
ок
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
21.02.2011, 19:38

Заказываю контрольные, курсовые, дипломные и любые другие студенческие работы здесь или здесь.

Оповещение о входящем сообщении
Всем привет. Интересует такой вопрос. outlook 2010 Есть 2 ящика и на оба поступают входящие...

Нажатие по ссылке во входящем сообщении
Добрый день! Ко мне приходят сообщения со ссылками, по нажатию которых скачивается файл. Вот код: ...

Уведомление о сообщении
Привет, ребят. Хочу получить красивое уведомление о сообщении как в Skype, Steam, ICQ и т.д. Буду...

Уведомление о сообщении
И снова привет, ребят. Хочу получить красивое уведомление о сообщении как в Skype, Steam, ICQ и...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
15
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2021, vBulletin Solutions, Inc.