[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Посещение темы
Ser18
Подскажите пожалуйста как работает

Если в теме не был, то конвертик светится
Если был, то тускнеет
Написали новое сообщение, снова светится



Спустя 47 минут, 47 секунд (22.09.2010 - 12:03) SlavaFr написал(а):
а как ты бы это делал?
представь, что есть 100 дверей с мелом возле каждой.

1)Каждый кто заходит в дверь и что то в комнате меняет оставляет мелом на двери время когда он зделал изменение.
2)Выйда из двери запоминает у себя в блокноте, то, что он в комнате номер Х уже в указанное время был.

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

Спустя 9 минут, 24 секунды (22.09.2010 - 12:13) Ser18 написал(а):
Это должно писаться в отдельнной таблице в БД
Или в таблице пользователей и названий тем

Спустя 8 минут, 10 секунд (22.09.2010 - 12:21) SlavaFr написал(а):
"Блокнот!"
нужна тблица где имеется id юзера, id темы и время посещения.

"Мелок возле двери" не нужен, так как всегда можно добратся до времени последнего сообщения в теме.

Спустя 8 минут, 17 секунд (22.09.2010 - 12:29) Ser18 написал(а):
А что происходит при выводе тем?
Что то не могу сложить в голове

Спустя 14 минут, 21 секунда (22.09.2010 - 12:43) SlavaFr написал(а):
а при выводе тем делаеш именно то что я напиасал.
нет нечего в блокноте, к этой теме или есть чтото, но время последнего сообщения в теме больше чем внесенное в блокноте, то выдаеш картинку светящуюся
в противном случае другую картинку.

Если зашел в тему, то
если нет не чего к етой теме, то создаеш новую строчку
insert into bloknot (id_user,id_tema,vremja)values($user_id,$id_tema,NOW());
в противном случае делаеш
update bloknot set vremja=now() where id_user=$user_id and id_tema=$id_tema;

Спустя 3 минуты, 46 секунд (22.09.2010 - 12:47) Ser18 написал(а):
Спасибо

Спустя 1 день, 4 часа, 20 минут, 40 секунд (23.09.2010 - 17:08) Ser18 написал(а):
Я уточнить

Когда у меня происходит вывод тем

while($row = mysql_fetch_assoc($result)) {

echo $row['tema'];

}


Мне надо в этом цикле еще делать запрос

while($row = mysql_fetch_assoc($result)) {

$result2 = mysql_query("SELECT * FROM tema_pos WHERE
id_user = '
$_SESSION'[id'] and id_tem = '$id_tem''");
$row2 = mysql_fetch_assoc($result2);

if($row['data_mess'] > $row2['data_viz']) {

$a = Светящаяся картинка

}else{

$a = Тусклая картинка

}

echo $row['tema'];

}


Только я не помню в запросе в БД можно писать and

Спустя 2 часа, 40 минут, 31 секунда (23.09.2010 - 19:48) FatCat написал(а):
Цитата (Ser18 @ 22.09.2010 - 13:13)
Это должно писаться в отдельнной таблице в БД

Здесь проще.
В куки пишутся айдишники посещенных тем и время посещений в текущей сессии.
В базу пишется время прошлой сессии.
А дальше простая арифметика: для каждой темы время считается по кукам, а если в куках пусто, то по прошлому посещению. Есть более поздние сообщения - пишем кубик; нет - не пишем.
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.