Добрый день, интересует можно ли получить в одном sql-запросе 5 предыдущих и 5 следующих статей? пример как это делается. Открываем страницу статьи, а под ней список ссылок на предыдущие и следующие статьи.
Да можно, нужно смотреть как всё реализовано и уже делать решение. Как минимум надо знать по каким критериям идёт определение предыдущих и следующих данных.
можно например выполнить двойной запрос с лимитом пять отталкиваясь от айдишника текущей статьи. ну и объединить их через юнион.
сейчас такой запрос: Код (Text): SELECT articles.`id`, articles.`title` FROM `articles` WHERE articles.`id` <> {id} ORDER BY articles.`id` DESC LIMIT 5 как его переделать чтобы получить 5 штук articles.`id` < {id} и 5 штук articles.`id` > {id} ?
не работает: Код (Text): SELECT articles.`id`, articles.`title` FROM `articles` WHERE articles.`id` < {id} LIMIT 5 UNION SELECT articles.`id`, articles.`title` FROM `articles` WHERE articles.`id` > {id} LIMIT 5 только первая часть срабатывает, всё что после UNION игнорируется, как будто второго запроса и нет
благодарю, всё заработало как нужно, скобок не хватало) и ещё в первую часть запроса добавил ORDER BY articles.`id` DESC чтобы отсчёт предыдущих статей был нормальным Код (Text): (SELECT articles.`id`, articles.`title` FROM `articles` WHERE articles.`id` < {$id} ORDER BY articles.`id` DESC LIMIT 5) UNION (SELECT articles.`id`, articles.`title` FROM `articles` WHERE articles.`id` > {$id} LIMIT 5)