[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Своеобразная выборка из бд
kazrem
Всем привет! Помогите решить такой вопрос: надо вывести 4 предыдущих записей и 4 следующих записей от запрошенного id (".$_REQUEST['id']."). Решил реализовать двумя запросами к базе:
$sql = "SELECT * FROM `table` where `cat`='$cat' and `id`>".$_REQUEST['id']." ORDER BY `id` asc LIMIT 4"; - этот выводит следующие 4 записи
$sql = "SELECT * FROM `table` where `cat`='$cat' and `id`<".$_REQUEST['id']." ORDER BY `id` desc LIMIT 4"; - а этот соответственно 4 предыдущие.

Все работает на ура, но только если запрошенный id не из первых или последних 4 записей, тогда один из запросов не срабатывает. То есть если запрошенный id = 3, то показывает только 2 предыдущие записи. Желаемое: Чтобы в таком случае брались 2 первых записи и 2 с конца. То есть сделать из бд некий циферблат, чтобы при любом ".$_REQUEST['id']." выводились 4 записи справа и 4 слева. Это в принципе можно реализовать?
bestxp
конечно возможно, смотри что вернули запросы, и если какой-то пустой соответственно брать записи с начала или с конца
kazrem
Вот как такое условие сделать не пойму, сейчас например зашел на text.php?id=2 , id доп. записей таковы 1, 3, 4, 5 и 6. А как сделать так, чтобы доп. записи были предпредпоследняя, предпоследняя, последняя, 1, 3, 4, 5 и 6?
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2025 Invision Power Services, Inc.