...Которые смотрели темы

439
.
Gaucer, В индексе стоит комментарий
А who.php и так все понятно
.
NIKO, Блин забыл убрать, это проверка типа.
.
Gaucer (21.04.2012/16:04)
Надеюсь там отмечен код?)
// Фиксация пользователей прочитавших тему
                
                if ($user_id) 
                {
                    echo 'USER<br />';
                    $check_user = mysql_result(mysql_query("SELECT COUNT(*) FROM `topic_viewers` WHERE `user` = '" . $user_id . "' AND `topic` = '" . $id . "'"), 0);
                    
                    if ( $check_user == 0 )
                    {
                        echo 'ADDED<br />';
                        mysql_query("INSERT INTO `topic_viewers` SET `user` = '" . $user_id . "', `topic` = '" . $id . "', `name` = '" . $login . "'");
                    
                    }
.
Вот исправлил
Прикрепленные файлы:
.
--
-- Структура таблицы `topic_viewers`
--

CREATE TABLE IF NOT EXISTS `topic_viewers` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`topic` int(11) NOT NULL,
`user` int(11) NOT NULL,
`name` varchar(25) NOT NULL,
PRIMARY KEY (`id`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8 AUTO_INCREMENT=1 ;
.
Зачем два запроса?
Сделай уникальный ключ в таблице
PRIMARY KEY (`topic`, `user`)
id Инкримент нахрен не нужен, добавь лучше тайм для сортировки
и запрос будит такой
mysql_query( "INSERT INTO `topic_viewers` (`topic`, `user`, `time`)
VALUES ('$id', '$user_id', '" . time() . "')
ON DUPLICATE KEY UPDATE `time`='" . time() . "'");
и не надо ни каких проверок лишних
.
Krite, Ну дык наколенке писал можно сказать, поторопился.
.
Дайте рабочую
.
NIKO, Так она рабочая, просто быдлокод малеха.
.
Screamer (21.04.2012/16:25)
Krite, Ну дык наколенке писал можно сказать, поторопился.
А вообще я бы лучше использовал таблицу для непрочитанных добавив одно доп. поле для фиксации именно прочтения.
Всего: 22