Правильный запрос в базу для вывода 5 новостей
Страницы: 1
Правильный запрос в базу для вывода 5 новостей
Всем привет. На одном из форумов уже спрашивал, но ответ неудовлетворяет требованиям. Я пожалуй сразу перейду к сути своей проблемы.
В общем, допустим есть в базе данных 10-ть новостей, у каждой новости разумеется свой id, например, с 1-го по 10-ый. Мне необходимо правильно составить запрос в базу таким образом, чтобы выводилось только 5-ть новостей с id меньше, например, 8-ми, а сразу за ними, в случае если до 5-ти штук новостей нехватает, то чтоб выводились новости с id больше 8-ми. В общем при выводе новостей в результате должна быть такая картина:
- сначала выводиться новость с id = 9
- потом новость с id = 10
- потом новость с id = 1
- потом новость с id = 2
- потом новость с id = 3

Если в качестве примера взять новость с id = 6, то должна быть такая картина:
- сначала новость с id = 7
- потом новость с id = 8
- потом новость с id = 9
- потом новость с id = 10
- потом новость с id = 1

Разумеется, точка отсчёта будет определённой переменной, которая всегда будет меняться от 1-го до 10-ти. В общем вот так. Очень прошу помочь. Желательно обойтись одним запросом в базу данных.
Amount News - полезный модуль для DLE

Фантики турбо - ностальгия по детству

53 рубля в день - на сайте с ТИЦ:10
Аж удивился, зачем такой дивный вывод?))
Олег, дело в том, что я хочу сделать более грамотный вывод похожих новостей при просмотре какой-то одной новости. Сейчас у меня очень глупо получается - при просмотре новости выводится 5-ть похожих новостей отсортированных по убыванию с самого начала, т.е. просматривая любую из похожих новостей выводятся те же похожие новости, что и были. Таким образом те, что не входят в 5-ку просто никогда в список не попадают. Можно конечно не ограничеваться пятью штуками, но тогда будет просто перебор. А вот если реализовать мою идею, то получится, что все похожие новости когда-нибудь, но будут отображены.
А похожие новости выводятся просто из той же категории или подбор идет по названию?
Олег, идёт очень точный подбор новостей и с той же категории, с таким же названием. Не сочтите за рекламу, но если зайдёте на сайт и откроете любое объявление, то возможно поймёте о чём именно идёт речь. Очень сложная задача, но я думаю что решаема и будет полезна ещё кому-нибудь. Просто делаю прелинковку более грамотную.
По-моему и так отлично, главное по названию выводить похожее, а там уже пользователь разберется )
Олег, спасибо, но хотелось бы таким способом и перелинковку более чёткую и грамотную сделать.
Такое решение не прокатит ?
Код
SELECT ... ORDER BY RAND() LIMIT 5

Выборка с сортировкой случайным образом. Это для MySQL
Изменено: abyss-by - 28 Ноября 2011 22:55
abyss-by, конечно как один из вариантов решения задачи этот способ рассматриваю (спасибо за пример кода), но хотелось бы некого постоянства, если можно конечно. Просто я по "хитрым" запросам в базу данных не специалист.
а если выводить новости с id больше N и тут же подсчитываешь количество через mysql_num_rows. Если количество меньше нужного (M), то выводишь с начала количество M-mysql_num_rows
Страницы: 1
Похожие темы:
Читают тему (гостей: 1, пользователей: 0, из них скрытых: 0)
Новые темыОбъявленияСвободное общение
20:47 Google начал жёстко давить за манипуляции + апдейт Яндекса 16 апреля - у кого что изменилось 
20:36 ИКС Яндекс АПдейт 1 апреля 2026. Обновлён алгоритм расчёта 
20:02 Эпоха СДЛ прошла. Как мы выживаем в 2026 году? 
17:30 стратегии свежести контента в 2026 что реально работает?? 
17:29 Апдейт 14 апреля: ощущение, что режет не только выдача 
17:28 Штрафы РСЯ за скорость - выкинет ли Яндекс сайт на дешевом хостинге? 
17:25 Взломы и уязвимости в 2026 - реально ли новичку защитить свой блог? 
21:59 BestX24 - быстрый и безопасный обменник криптовалют и электронных денежных средств 
15:06 [SOFT] Мультиканальный ИИ-агент (Telegram + API): Автономный контент и Smart Engagement (Llama 3.1 / Groq) 
13:17 Продам аккаунты Gmail USA IP | Gmail MIX IP | Outlook Old 
12:53 Вериф аккаунты АВИТО + платежи 
11:37 HH.ru Работадателя вериф 
11:26 buyingproxy.com | $0.95/GB Residential Proxies - 80M+ IPs | No Bandwidth Expiry 
08:43 Swapwatch.org — Мониторинг криптовалютных обменников 
20:24 Осталось 3-5 месяцев до блокировки YouTube в России, — заявил Клименко 
17:59 Всех с праздником! 
17:43 С юмором по жизни! 
17:14 Ищу партнера в криптовалютный проект 
12:47 Добро пожаловать в цифровой мир... 
09:52 Ищу партнера в криптовалютный проект 
06:27 Точные прогнозы на футбол