Получить позицию заданного порядка сортировки и конкретного ID

alexhemp

Новичок
Получить позицию заданного порядка сортировки и конкретного ID

Итак - имеется список новостей, отсортированный по дате и разбитый на страницы стандартно с ипользованием LIMIT.

Теперь стоит задача при выводе новости показывать анонсы новостей с той-же страницы. (Дизайнеры придумали и впарили заказчику, задачу менять нельзя).

По сути страница со списком и вывод отдельной новости - одна страница.

Адрес страницы включает в себя id новости типа /news/01.html
Cобственно не хочу добавлять к URL еще и номер страницы,
хочу его вычислить по имеющимся параметрам сортировки, количеству записей на странице и id текущей новости, только не приложу чего-то ума как ;-)

Подскажите, а то в воскр вечером туплю.
 

Фанат

oncle terrible
Команда форума
одним вычислением ничего не получится.
только запросом и вычислением.
Запрашиваешь, сколько новостей идёт до этой.
Ну а уж страницу, надеюсь, посчитаешь
 

alexhemp

Новичок
Фанат

да, логично. Поскольку новости уже отсортированы, можно взять данную новость и отсечь все что "ниже" нее и посчитать количество...

получилось просто (вдруг кому-то понадобиться);

SELECT COUNT(*)
FROM news n, news _news
WHERE _news.ID ='<переданный id>'
AND n.DT >= _news.DT
ORDER BY n.DT DESC работает достаточно быстро.
 

Фанат

oncle terrible
Команда форума
о, да.
всем вокруг просто необходим твой запрос с объединением таблиц новостей =)
 

alexhemp

Новичок
Фанат
Да ладно, многие новички такого не знают. Что можно без вложенных запросов такое делать. ;-)

Я вообще думал что 3.x неверно будет считать ;-)
 
Сверху