С Новым годом! Форум программистов, компьютерный форум, киберфорум
PHP: базы данных
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
 
Рейтинг 4.54/41: Рейтинг темы: голосов - 41, средняя оценка - 4.54
0 / 0 / 0
Регистрация: 12.05.2011
Сообщений: 21

Как сделать оповещение о новом сообщении.

28.06.2011, 13:11. Показов 8833. Ответов 28
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Здравствуйте подскажите пожалуйста как можно реализовать оповещение о новом сообщение сделал сообщение и что бы новое выходило выше чем старые ну я хочу сделать оповещение о новом сообщение как можно это реализовать подскажите пожалуйста.
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
28.06.2011, 13:11
Ответы с готовыми решениями:

Как отправить на e-mail сообщение о новом сообщении
Здравствуйте, Мне нужна помощь, я новичок в php, и ещё многого не знаю, но изучаю. Перейду к делу: У меня есть сайт, а на сайте на...

Оповещение о новом сообщении
Пытаюсь сделать систему оповещения о новых сообщениях. Пока сделано с помощью перезагрузки страницы. Подскажите, как сделать с помощью...

Как приложение Вконтакте узнаёт о новом сообщении?
Как реализовать подобную вещь: как, например, приложение Вконтакте узнаёт о новом сообщение? Оно циклично посылает запрос на сервер с...

28
 Аватар для TOI_I_IA
110 / 110 / 4
Регистрация: 25.05.2009
Сообщений: 415
28.06.2011, 13:28
В таблице сообщений сделай дополнительное поле например status при добавлении нового ставь значение 1. При открытии сообщения делай обновление и меняй статус на 0.
А на сайте где у тебя выводится ссылка Мои сообщения или что др. Делаешь запрос в бд и считаешь количество строк со статусом 1
0
0 / 0 / 0
Регистрация: 12.05.2011
Сообщений: 21
28.06.2011, 13:30  [ТС]
CREATE TABLE `messages` (
`id` int(9) NOT NULL auto_increment,
`author` varchar(15) NOT NULL default '',
`poluchatel` varchar(15) NOT NULL default '',
`date` date NOT NULL default '0000-00-00',
`text` text NOT NULL,
PRIMARY KEY (`id`)
) TYPE=MyISAM AUTO_INCREMENT=8 ;
Вот база данных моя сюда вставить status а как вставить значения 1 и 0.
0
 Аватар для TOI_I_IA
110 / 110 / 4
Регистрация: 25.05.2009
Сообщений: 415
28.06.2011, 13:33
CREATE TABLE `messages` (
`id` int(9) NOT NULL auto_increment,
`author` varchar(15) NOT NULL default '',
`poluchatel` varchar(15) NOT NULL default '',
`date` date NOT NULL default '0000-00-00',
`text` text NOT NULL,
`status` int(9) NOT NULL default '1'
PRIMARY KEY (`id`)
) TYPE=MyISAM AUTO_INCREMENT=8 ;

по умолчанию теперь будет 1
когда человек у тебя открывает сообщение ты делаешь запрос SELECT а после него сразу UPDATE
1
0 / 0 / 0
Регистрация: 12.05.2011
Сообщений: 21
28.06.2011, 13:42  [ТС]
Не может создать базу данных ошибку пишет когда
`status` int(9) NOT NULL default '1'
убираешь нормально создает
0
 Аватар для TOI_I_IA
110 / 110 / 4
Регистрация: 25.05.2009
Сообщений: 415
28.06.2011, 13:55
CREATE TABLE `messages` (
`id` INT( 9 ) NOT NULL AUTO_INCREMENT ,
`date` DATE NOT NULL ,
`author` VARCHAR( 15 ) NOT NULL ,
`poluchatel` VARCHAR( 15 ) NOT NULL ,
`text` INT NOT NULL ,
`status` INT NOT NULL DEFAULT '1',
PRIMARY KEY ( `id` )
) ENGINE = MYISAM ;
1
0 / 0 / 0
Регистрация: 12.05.2011
Сообщений: 21
28.06.2011, 14:01  [ТС]
TOI_I_IA,
А куда теперь надо вставить параметры



$tmp = mysql_query("SELECT * FROM messages WHERE poluchatel='$login' ORDER BY id DESC",$db);
$messages = mysql_fetch_array($tmp);//извлекаем сообщения пользователя, сортируем по идентификатору в обратном порядке, т.е. самые новые сообщения будут вверху

if (!empty($messages['id'])) {
do //выводим все сообщения в цикле
{
$author = $messages['author'];
$result4 = mysql_query("SELECT avatar,id FROM users WHERE login='$author'",$db); //извлекаем аватар автора
$myrow4 = mysql_fetch_array($result4);

if (!empty($myrow4['avatar'])) {//если такового нет, то выводим стандартный(может этого пользователя уже давно удалили)
$avatar = $myrow4['avatar'];
}
else {$avatar = "avatars/net-avatara.jpg" ; }

printf("
<div align='left'>

<table>
<tr>
<td><a href='profile.php?id=%s'> <div id='obvod_messages'>
<img alt='аватар' src='%s' border='0' width='70px'></a></td>

<td>Автор: <a href='profile.php?id=%s' >%s</a><br>
Дата: %s<br>
Сообщение:<br>
%s<br>

<a href='drop_post.php?id=%s' id='knopka-del' <img src='images/del.png' border='0'>Удалить</a>

</td>
</tr>
</table><br>
</div>
",$myrow4['id'],$avatar,$myrow4['id'],$author,$messages['date'],$messages['text'],$messages['id']);
//выводим само сообщение
}
while($messages = mysql_fetch_array($tmp));

}
else {
//если сообщений не найдено
echo "Сообщений нет";
}

}

else
{
0
 Аватар для TOI_I_IA
110 / 110 / 4
Регистрация: 25.05.2009
Сообщений: 415
28.06.2011, 14:06
$tmp = mysql_query("SELECT * FROM messages WHERE poluchatel='$login' ORDER BY id DESC",$db);
$countNew = count(mysql_fetch_array(mysql_query("SEL ECT * FROM messages WHERE poluchatel='$login' and status='1' ",$db))); //количество новых сообщений
$messages = mysql_fetch_array($tmp);//извлекаем сообщения пользователя, сортируем по идентификатору в обратном порядке, т.е. самые новые
0
0 / 0 / 0
Регистрация: 12.05.2011
Сообщений: 21
28.06.2011, 14:12  [ТС]
TOI_I_IA, Сейчас стало как изначально было я хочу показывал типо вам новое сообщения или счетчик был сообщений просто у меня когда пользователь присылает сообщение не показывает не чего только если заходишь на определенную страницу и смотришь есть там что нового.Вот я хочу например мне прислали сообщение и там или счетчик или захожу на страницу и новое сообщение там другим цветом было что бы видно было что новое сообщение.Видимо я тогда не правильно объяснил.
0
 Аватар для TOI_I_IA
110 / 110 / 4
Регистрация: 25.05.2009
Сообщений: 415
28.06.2011, 14:27
в меню добавь эту строчку
$countNew = count(mysql_fetch_array(mysql_query("SEL ECT * FROM messages WHERE poluchatel='$login' and status='1' ",$db))); //количество новых сообщений
<a href='куда-то'>Мои сообщения <?=if ($countNew > 0) echo "(".$countNew.")";?></a>
0
0 / 0 / 0
Регистрация: 12.05.2011
Сообщений: 21
28.06.2011, 14:41  [ТС]
TOI_I_IA,
ТО так пишет
Мои сообщения 0) echo "(".12.")";?>
То так
= count(mysql_fetch_array(mysql_query("SEL ECT * FROM messages WHERE poluchatel='lololo' and status='1' ",Resource id #4))); //количество новых сообщений Мои сообщения 0) echo "("..")";?>

Добавлено через 1 минуту
TOI_I_IA, теперь пишет то так
= count(mysql_fetch_array(mysql_query("SEL ECT * FROM messages WHERE poluchatel='lololo' and status='1' ",Resource id #4))); //количество новых сообщений Мои сообщения 0) echo "("..")";?
то так
Мои сообщения 0) echo "("..")";?>
0
 Аватар для TOI_I_IA
110 / 110 / 4
Регистрация: 25.05.2009
Сообщений: 415
28.06.2011, 16:05
PHP
1
2
3
4
<?
$countNew = "(".count(mysql_fetch_array(mysql_query("SELECT * FROM messages WHERE poluchatel='$login' and status='1' ",$db))).")";
?>
<a href='куда-то'>Мои сообщения <?php if ($countNew > 0) echo $countNew;?></a>
а так
1
0 / 0 / 0
Регистрация: 12.05.2011
Сообщений: 21
28.06.2011, 16:38  [ТС]
TOI_I_IA,
Так вроде бы нормально только вот как можно разместит в этих скобках подскажите
print <<<HERE

HERE;
Если так
print <<<HERE
$countNew = "(".count(mysql_fetch_array(mysql_query( "SELECT * FROM messages WHERE poluchatel='$login' and status='1' ",$db))).")";
?>
<a href='Messages.php?id=$myrow2[id]'>Мои сообщения <?php if ($countNew > 0) echo $countNew;?></a>
HERE;
Он опять пишет как и тогда а так когда в эти скобки не затаскиваю пишет когда перехожу по ссылки сообщении типо пишет. так Неверный формат запроса! Проверьте URL
0
 Аватар для TOI_I_IA
110 / 110 / 4
Регистрация: 25.05.2009
Сообщений: 415
28.06.2011, 16:42
PHP
1
2
3
4
5
$countNew = "(".count(mysql_fetch_array(mysql_query("SELECT * FROM messages WHERE poluchatel='$login' and status='1' ",$db))).")";
if ($countNew < 1)  $countNew = NULL;
print <<<HERE
<a href='Messages.php?id=$myrow2[id]'>Мои сообщения $countNew </a>
HERE;
0
0 / 0 / 0
Регистрация: 12.05.2011
Сообщений: 21
28.06.2011, 16:53  [ТС]
TOI_I_IA,
Счетчик начал чуть по чуть работать ну вот Сначало было сообщение сразу один стандартно а потм как я прислал 12 потом еще прислал серовно 12 и сообщения я пишу например проверка или текст он мне присылает 0.

Добавлено через 5 минут
TOI_I_IA, У меня была ошибка сначала при добавление базы данных этого status
вот что он пишет когда добавляешь базу данных
SQL query:

= MYISAM AUTO_INCREMENT =8;

MySQL said: Documentation
#1064 - You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '=MyISAM AUTO_INCREMENT=8' at line 1
0
 Аватар для TOI_I_IA
110 / 110 / 4
Регистрация: 25.05.2009
Сообщений: 415
28.06.2011, 16:54
Цитата Сообщение от Kartavtsev Посмотреть сообщение
он мне присылает 0
поподробнее или пример можно


я же уже скидывал код таблицы

SQL
1
2
3
4
5
6
7
8
9
CREATE TABLE `messages` (
`id` INT( 9 ) NOT NULL AUTO_INCREMENT ,
`date` DATE NOT NULL ,
`author` VARCHAR( 15 ) NOT NULL ,
`poluchatel` VARCHAR( 15 ) NOT NULL ,
`text` INT NOT NULL ,
`status` INT NOT NULL DEFAULT '1',
PRIMARY KEY ( `id` )
) ENGINE = MYISAM ;
0
0 / 0 / 0
Регистрация: 12.05.2011
Сообщений: 21
28.06.2011, 16:57  [ТС]
TOI_I_IA,
Вот например я пишу пользователю привет сообщение должно дойти пользователю писать привет.А он присылает просто ноль.Это ошибка при добавление базу данных началась
0
 Аватар для TOI_I_IA
110 / 110 / 4
Регистрация: 25.05.2009
Сообщений: 415
28.06.2011, 16:58
SQL
1
2
3
4
5
6
7
8
9
CREATE TABLE `messages` (
`id` INT( 9 ) NOT NULL AUTO_INCREMENT ,
`date` DATE NOT NULL ,
`author` VARCHAR( 15 ) NOT NULL ,
`poluchatel` VARCHAR( 15 ) NOT NULL ,
`text` text NOT NULL ,
`status` INT NOT NULL DEFAULT '1',
PRIMARY KEY ( `id` )
) ENGINE = MYISAM ;
1
0 / 0 / 0
Регистрация: 12.05.2011
Сообщений: 21
28.06.2011, 17:10  [ТС]
TOI_I_IA,
Все текст заработал вот теперь счетчик не пойму почему вот когда присылаешь одно сообщение он не 2 ставит а 12 а потом если еще одно то серовно 12 больше не идет.
0
 Аватар для TOI_I_IA
110 / 110 / 4
Регистрация: 25.05.2009
Сообщений: 415
28.06.2011, 17:14
PHP
1
2
3
4
5
6
 $coll = mysql_fetch_array(mysql_query("SELECT COUNT(*) as coll FROM messages WHERE poluchatel='$login' and status='1' ",$db))
$countNew = "(". $coll['coll'] .")";
if ($countNew < 1)  $countNew = NULL;
print <<<HERE
<a href='Messages.php?id=$myrow2[id]'>Мои сообщения $countNew </a>
HERE;
Попробуй так
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
28.06.2011, 17:14
Помогаю со студенческими работами здесь

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

Авторизация.Оповещение о сообщении
Доброго времени суток дорогие форумчане, прошу вашей помощи, сейчас разрабатываю серверное/клиентское приложение и столкнулся с 2...

Социальные сети: как на MVC 3 можно организовать быстрое уведмомление о новом сообщении
Мне в голову пришло несколько вариантов: 1) организовать запросы со страницы пользователя на сервер в базу данных сообщений через...

Оповещение о новом заказе
Переопределил оповещение о новом заказе в init.php Вот код: &lt;? // Письмо пользователю при оформлении нового заказа ...

Событие о новом сообщении
Доброго времени суток. Разрабатываю сайт ms sql, linq c#, iis, ms. Общение с пользователем ajax json. Хочу реализовать общение...


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

Или воспользуйтесь поиском по форуму:
20
Ответ Создать тему
Новые блоги и статьи
Модель микоризы: классовый агентный подход
anaschu 02.01.2026
Раньше это было два гриба и бактерия. Теперь три гриба, растение. И на уровне агентов добавится между грибами или бактериями взаимодействий. До того я пробовал подход через многомерные массивы,. . .
Учёным и волонтёрам проекта «Einstein@home» удалось обнаружить четыре гамма-лучевых пульсара в джете Млечного Пути
Programma_Boinc 01.01.2026
Учёным и волонтёрам проекта «Einstein@home» удалось обнаружить четыре гамма-лучевых пульсара в джете Млечного Пути Сочетание глобально распределённой вычислительной мощности и инновационных. . .
Советы по крайней бережливости. Внимание, это ОЧЕНЬ длинный пост.
Programma_Boinc 28.12.2025
Советы по крайней бережливости. Внимание, это ОЧЕНЬ длинный пост. Налог на собак: https:/ / **********/ gallery/ V06K53e Финансовый отчет в Excel: https:/ / **********/ gallery/ bKBkQFf Пост отсюда. . .
Кто-нибудь знает, где можно бесплатно получить настольный компьютер или ноутбук? США.
Programma_Boinc 26.12.2025
Нашел на реддите интересную статью под названием Anyone know where to get a free Desktop or Laptop? Ниже её машинный перевод. После долгих разбирательств я наконец-то вернула себе. . .
Thinkpad X220 Tablet — это лучший бюджетный ноутбук для учёбы, точка.
Programma_Boinc 23.12.2025
Рецензия / Мнение/ Перевод Нашел на реддите интересную статью под названием The Thinkpad X220 Tablet is the best budget school laptop period . Ниже её машинный перевод. Thinkpad X220 Tablet —. . .
PhpStorm 2025.3: WSL Terminal всегда стартует в ~
and_y87 14.12.2025
PhpStorm 2025. 3: WSL Terminal всегда стартует в ~ (home), игнорируя директорию проекта Симптом: После обновления до PhpStorm 2025. 3 встроенный терминал WSL открывается в домашней директории. . .
Как объединить две одинаковые БД Access с разными данными
VikBal 11.12.2025
Помогите пожалуйста !! Как объединить 2 одинаковые БД Access с разными данными.
Новый ноутбук
volvo 07.12.2025
Всем привет. По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне: Ryzen 5 7533HS 64 Gb DDR5 1Tb NVMe 16" Full HD Display Win11 Pro
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru