Вот код выводящий следующее и предыдущее видео в категории активного ролика: где id=номер ролика, а cat=номер категории и все работает нормально, вот только если активный ролик допустим id=50, а следующий id=65 и предыдущий id=40 то при переходе на id=65 предыдущий так и остается id=40 а не id=50. Можно это как нибудь подправить? Код (Text): $result = mysql_query(" SELECT d.*, c.`tit`, IF(DATE(d.`date`) = CURDATE(), 'СЕГОДНЯ', IF(DATE(d.`date`) = CURDATE()-INTERVAL 1 DAY, 'ВЧЕРА', d.`date`)) AS `date` FROM `date` AS d LEFT JOIN categories AS c ON c.idd = d.cat WHERE (SELECT cat FROM `date`WHERE id=$id ) = d.cat AND d.id > $id ORDER BY d.id ASC LIMIT 1",$db);
как-то сложно у тебя ))) "предыдущий" это запись из той же таблицы с максимальным X, меньшим чем текущий X "следующий" это запись из той же таблицы с минимальным X, большим чем текущий X переведи это буквально в синтаксис SQL и будет тебе безошибочный ответ https://www.google.ru/search?q=mysql+get+previous+and+next+record+id
Да. На странице с активным роликом 2 идентичных кода и для следующего и для предыдущего с разницей AND d.id > $id следующее AND d.id < $id предыдущее Это как?
первые же результаты гуглессылки дают годные ответы. что именно тебе непонятно? Добавлено спустя 12 минут 49 секунд: осталось добавить для них условия "минимальный" и "максимальный". справишся?
первая ссылка из поисковой выдачи: WHERE x > $current ORDER BY x ASC LIMIT 1 — сортировка по возрастанию, берем первую запись — это минимальное значение x, большее чем текущее значение — получается следующая запись (если она существует). аналогично обратное условие "<" + сортировка "DESC" — это будет максимальное значение x, меньшее чем текущее значение — то есть предыдущая запись (если она существует).