Я пытаюсь сделать очень простую однонаправленную систему билетов/новостей в php и mysql для распространения новостей по моему приложению (например: «Обслуживание в пятницу 22:00 до 11:00»). Сначала я учил, что это может сделать только простую таблицу:Система многопользовательской однонаправленной поддержки билетов
CREATE TABLE IF NOT EXISTS `message` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`date` varchar(18) NOT NULL,
`subject` varchar(200) NOT NULL,
`message` varchar(1000) CHARACTER SET utf8 COLLATE utf8_bin NOT NULL,
`recipient` text CHARACTER SET utf8 COLLATE utf8_bin NOT NULL,
`read` int(1) NOT NULL,
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1 AUTO_INCREMENT=8 ;
Админо создать новые новости и выбрать получатель через множественный выбор.
<select multiple="multiple" name=[]dest >
<option value="all">All users</option>
<option value="1">User_1</option>
<option value="2">User_2</option>
<option value="n">User_n</option>
</select>
«Dest» будет интегрировались и обновлена «message.recipient» Пользователь может просматривать новости:
SELECT * FROM message m WHERE m.recipient='all' or m.recipient RLIKE '[[:<:]]".$userID."[[:>:]]'"
Моя проблема начинается, когда пользователь нажимает на новости и прочитать его, потому что я обновляю с '1' 'message.read' через jQuery Ajax и отменить новость, но ... это неправильно, потому что, когда первый пользователь читает новости, он будет отмечен как прочитанный для других пользователей.
Я знаю, что могу создать другую таблицу и хранящий идентификатор_пользователя и message.id для непрочитанных новостей и удалены читать его, но этого не достаточно элегантное решение ...
Любые предложения будут очень благодарны.
Спасибо! Leo
Это. Ошибка ввода, извините. Что касается флагов сессий, мне нравится идея. спасибо –