сортировка в порядке очереди запроса mysql

__SP1RiT__

Новичок
сортировка в порядке очереди запроса mysql

Приветствую.

Есть запрос

PHP:
SELECT * from content_content WHERE id=2 or id=3 or id=1
как сделать так чтобы данные сортировались в порядке обращения к базе, т.е. на выходе я хочу получить

-id2
-id3
-id1
 

WP

^_^
Какого еще обращения к базе? )) Смиялсо. Нельзя конечно. Можно сделать с UNION или отсортировать через ORDER BY по полю.

-~{}~ 13.08.06 17:09:

p.s. можно сделать WHERE `id` IN (2,3,1), равносильно.
 

__SP1RiT__

Новичок
WP
p.s. можно сделать WHERE `id` IN (2,3,1), равносильно

угу, удобнее, изменил.

Можешь плиз кусочек кода дать ?
 

Фанат

oncle terrible
Команда форума
__SP1RiT__
ты так и собираешься всегда в запросе вручную указывать порядок сортировки?
 

__SP1RiT__

Новичок
lucas

это поисковый скрипт: сначало вычисляется релевантность каждого документа, отсеивается лишнее, а потом уж передаются те id которые надо взять из быза.

-~{}~ 13.08.06 17:24:

Фанат
не понял, почему вручную ? если я дал запрос, не значит что он так и есть в самом скрипте.

PHP:
$query = "SELECT * from $tableQ  WHERE $zapros LIMIT $lpos,$lines_per_page";
-~{}~ 13.08.06 17:34:

что мне делать ?
 

__SP1RiT__

Новичок
lucas
спасиб конечно, но просто там свои заморочки в поиске.
Подскажи лучше с сортировкой данных как быть
 

WP

^_^
lucas
> Смиялсо.
Смех без причины признак дурачины.
__SP1RiT__
Дык ты получил основной массив с документами их релевантностью. Делаешь запрос без сортировки всякой и подставляешь в цикле. Тот массив же уже отсортирован.
 

antson

Новичок
Партнер клуба
__SP1RiT__
хмм. если я правильно понял. нужные идишники и ревалентность вы уже имеете в памяти ка результат
предварительных запросов и вычислений. ревалентность как числовой параметр и вас уже есть.

тогда логично просто откешировать их в таблицу
(полезно если результаты поиска с разбивкой по страницам).

searckesh (id, - первичный ключ searckesh
id_poiska, - индексное поле индетификатор запроса использовать при навигации по страницам
timestamp, - временная метка для очистки через 15-60 минут кеша
id_main, - идентификатор записи в основной таблице
ves - ревалентность
)

надеюсь как соединить таблицы объяснять не надо ?
в запросе отбирается по нужному id_poiska сортировка по ves лимит получается из номера нужной страницы и числа записей.

ну а если выдача в одну страницу , то отсортируй массив (ид,вес, текст_пока_пустая строка) по весу .
сделай свою выборку и результаты фетча пока не выводишь, а заполняешь третье поле используя
индекс для доступа к нужному элементу массива.

потом в цикле foreach формируешь выдачу пользователю
 

__SP1RiT__

Новичок
antson
пасиб за рассуждение. Иногда просто у самого голова то забита чушью и не могу сделать.


Спасибо всем.
 
Сверху