Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Скриптовые языки программирования > PHP
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 21.10.2009, 23:14   #1
Amen
Заблокирован
Форумчанин
 
Регистрация: 22.01.2008
Сообщений: 121
По умолчанию Система оповещения о новых событиях

Суть проста - если (в моём случае) к новости добавляются новые комменты, то когда модер входит в админку он перейдя по соответствующей ссылке видит их в отдельном окне.

Arigato мне уже кое что подсказал, так что додумался до такой "модели":

значит новый документ
в нём запрашиваем все комменты из таблицы comments, где date_com больше чем какая-нибудь $p
выводим комменты
устанавливаем $p=now();

теперь вопросы - как установить начальное значение $p и как его хранить (куки? а если они отключены?)
А может быть такие вещи правильнее реализовывать с помощью какого-нибудь аякса или чего-нибудь в этом роде?
Amen вне форума Ответить с цитированием
Старый 21.10.2009, 23:32   #2
spein
Программист
Форумчанин
 
Аватар для spein
 
Регистрация: 27.02.2009
Сообщений: 505
По умолчанию

установить просто присвоить значение, сохранить в базе данных или в сесиях если куки не устраивают
there are no limits when you're software engineer
spein вне форума Ответить с цитированием
Старый 22.10.2009, 07:57   #3
ADSoft
Старожил
 
Регистрация: 25.02.2007
Сообщений: 4,150
По умолчанию

а я в своей системе проще делал: отдельное поле - флаг, например при новом сообщении = 1 ..... список новых сообщений как фильтр по полю у которого флаг = 1..... как только прочел - флаг сбрасывается в 0... .вот и все
ADSoft вне форума Ответить с цитированием
Старый 22.10.2009, 09:45   #4
Arigato
Высокая репутация
СуперМодератор
 
Аватар для Arigato
 
Регистрация: 27.07.2008
Сообщений: 16,218
По умолчанию

Цитата:
а я в своей системе проще делал: отдельное поле - флаг
Это не проще, зачем добавлять в таблицу лишнее поле, если и без него можно обойтись.
Я в своих проектах использую специальную конфигурационную таблицу вида:
config_name = VARCHAR(255)
config_value = VARCHAR(255)
В неё можно запоминать любые конфиги сайта, указывая имя и значение. Вам нужно будет туда добавить параметр: время последнего просмотра админом комментов. При просмотре записывать туда текущее время. При выборке новых, брать старое значение и выбирать комменты позже этого времени.
Arigato вне форума Ответить с цитированием
Старый 22.10.2009, 16:42   #5
Amen
Заблокирован
Форумчанин
 
Регистрация: 22.01.2008
Сообщений: 121
По умолчанию

Честно не понял, в чём суть этой вашей конфигурационной таблицы. Два поля для логинов и паролей плюс поле для времени последнего визита?

Вобщем сделал так - а админке разместил ссылку на

newcomments.php:

PHP код:
<?php
include "../config.php";

//Выбираем (и выводим для наглядности)дату последнего визита
$query mysql_query("SELECT config_last_enter FROM config_table");
if (
$query)
{
 
$last_enter mysql_result($query,0,'config_last_enter');
 echo 
$last_enter;
 echo
"<br><br><hr><br>";
}
else echo 
"Ошибка";


// Выбираем комменты, дата которых больше даты последнего визита
$qr "SELECT id, id_news, DATE_FORMAT(date_com,'%d-%m-%Y %H:%i')as date_reg, name_com, comm
       FROM comments
       WHERE date_com > 
$last_enter";
$rs mysql_query($qr);
//Выводим комменты
while ($rw mysql_fetch_array($rs))

{
 echo 
htmlspecialchars($rw['name_com']);echo "&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;";
 echo 
$rw['date_reg'];
 echo
"<br>";
 echo 
nl2br(htmlspecialchars($rw['comm']));
 echo
"<br><hr>";
}
//Записываем новое значение даты последнего визита
$q "UPDATE config_table SET config_last_enter=now()";
$r=mysql_query($q);
if (!
$r)
echo 
"Ошибка"
?>
Пока что только выводит ошибку Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource

Последний раз редактировалось Amen; 22.10.2009 в 16:54.
Amen вне форума Ответить с цитированием
Старый 22.10.2009, 21:49   #6
Amen
Заблокирован
Форумчанин
 
Регистрация: 22.01.2008
Сообщений: 121
По умолчанию

По логике хотя бы всё правильно?
Amen вне форума Ответить с цитированием
Старый 23.10.2009, 11:35   #7
Amen
Заблокирован
Форумчанин
 
Регистрация: 22.01.2008
Сообщений: 121
По умолчанию

Всё, понял, ошибка вылетает из-за того, что так даты сверять нельзя.
Подскажите, кому не трудно, как нужно сверять правильно.
Amen вне форума Ответить с цитированием
Старый 23.10.2009, 11:59   #8
Metandrostenalon
Форумчанин
 
Регистрация: 03.04.2009
Сообщений: 108
По умолчанию

Код:
$var = strtotime($rw['date_reg']);

в запросе UNIX_TIMESTAMP(date_com) >= $var
php,javascript

Последний раз редактировалось Metandrostenalon; 23.10.2009 в 12:03.
Metandrostenalon вне форума Ответить с цитированием
Старый 23.10.2009, 12:29   #9
Amen
Заблокирован
Форумчанин
 
Регистрация: 22.01.2008
Сообщений: 121
По умолчанию

Ничего не понял. date_reg - это псевдоним поля date_com. В вашем примере получается что мы его сверяем с самим собой. А нужно - с $last_enter.
Amen вне форума Ответить с цитированием
Старый 23.10.2009, 12:45   #10
Metandrostenalon
Форумчанин
 
Регистрация: 03.04.2009
Сообщений: 108
По умолчанию

могли бы уже суть понять, я летал где то в облаках пока писал
Код:
$last_enter = strtotime($last_enter);

в запросе UNIX_TIMESTAMP(date_com) >= $last_enter
strtotime можно заменить на UNIX_TIMESTAMP(config_last_enter) в первом запросе
php,javascript
Metandrostenalon вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Какая система идеальна для новых (нынишних) игр? veter_s_morya Компьютерное железо 11 22.06.2008 12:12
теория игр.нужно найти наилуяший результат при наихудших событиях naked Microsoft Office Excel 2 07.05.2008 11:33
Приветствуем новых модераторов! Alar О форуме и сайтах клуба 4 23.04.2007 08:32
Создание новых объектов Washington Общие вопросы Delphi 1 10.03.2007 21:57