Я пытался заставить свой код работать в точности, он работает по большей части отлично, за одним исключением. Это сложно объяснить словами, поэтому я постараюсь показать вам с чем я имею дело.Необходимая справка справки MYSQL SELECT
Во-первых, вот мой MYSQL QUERY до сих пор, (что все должно оставаться в значительной степени то же самое, или, по крайней мере, сделать то же самое это делает)
$notificationsq = mysql_query("SELECT N.*, P.*,
(CASE
WHEN
(N.action = 2 AND N.state = 0) THEN 1
ELSE N.state
END) AS state
FROM
notifications N,
posts P
WHERE N.userID='$session' AND
(N.action='1' OR N.action='2') AND
N.uniqueID=P.id AND
P.state='0'
GROUP BY N.uniqueID
ORDER BY N.state ASC, N.date DESC
");
Вот мои настройки таблицы для уведомлений (код относящегося таблицы сообщений не имеет отношения к моей проблеме) http://i43.tinypic.com/2wd6phl.png
что каждая строка представляет (только те строки, которые не понятен):
- uniqueID - это идентификатор сообщения, о котором должно быть уведомлено.
- деятельность - это какой-либо извещение. 1 - новое сообщение, 2 - новый комментарий к сообщению.
- Состояние: прочитано или нет уведомление. 0 не читается, 1 считывается.
прямо сейчас «state» возвращает только сообщения (action = 1), которые являются непрочитанными (state = 0), однако я хочу, чтобы он возвращал «состояние» как 0 для сообщения, если какой-либо из сообщений получает новый комментарий.
это как,
IF (действие == 2 == И состояние 0 WHERE UniqueID == UniqueID) {состояние = 0}
Формат и отступ SQL утверждение должным образом. – Lion
Я отформатировал sql :) –