Сортировка в MySQL 3 по "внешнему" массиву

Mr_Max

Первый класс. Зимние каникулы ^_^
Команда форума
Сортировка в MySQL 3 по "внешнему" массиву

Доброго времени суток.
Вожможена ли сортировка по ячейке, которой на самом деле в БД нет?...

Выборка из БД (товары добавленные в корзину)
Хочу сделать сортировку средствами МуСкула по времени, когда пользователь добавил товар в корзину.

выбранный товар пишем в куки
Их у меня 2-е.
1. время добавления в корзину
2. Ай-Ди добавленного товара.

Возможен ли такой запрос (что-то типа)
SELECT array ('1', '2') as u_time FROM market
ORDER by u_time
Не судите строго. Пытался всё понятно описать.
 

white phoenix

Новичок
А как сортировать по полю, которого нет в БД? Я бы выбрал без сортировки товары, а потом через [m]usort[/m].
 

Mr_Max

Первый класс. Зимние каникулы ^_^
Команда форума
Понял уточняю
поля u_time
в БД нет
переменные берутся из "время добавления в корзину" (когда юзер клиннул на товаре)
 

SelenIT

IT-лунатик :)
Такой запрос возможен, например:
[sql]SELECT id FROM market WHERE id IN (id1, id2, ..., idN) ORDER BY CASE id WHEN id1 THEN time_1 WHEN id2 THEN time_2 /* и т.д. */ WHEN idN THEN time_N END[/sql]
 

kruglov

Новичок
можно просто составить список id в нужном порядке.

-~{}~ 17.01.06 10:54:

http://xpoint.ru/forums/computers/dbms/mysql/thread/30341.xhtml
 

Mr_Max

Первый класс. Зимние каникулы ^_^
Команда форума
РЕбята, сенк!
Вы монстры! :)

-~{}~ 17.01.06 13:51:

ой сори, опять грабли.... :(
В пхпМайАдмине... всё ок.
а вот тот-же запрос, но внутри страницы выдает
1064: You have an error in your SQL syntax near '(market.id, '1, 5') ' at line 1
Поначалу обрадовался....
в пхпМайадмине
SELECT market.id FROM market WHERE market.id IN('1', '5') ORDER BY FIND_IN_SET (market.id, '1, 5')
$result = mysql_query ($sql);
echo $sql;
echo mysql_num_rows ($result);

Где могут быть грабли?
 

kruglov

Новичок
чудес не бывает, phpmyadmin - это тоже страница.

SELECT market.id FROM market WHERE market.id IN('1', '5') ORDER BY FIND_IN_SET (market.id, '1, 5') - это отладочный вывод из страницы?
 

Mr_Max

Первый класс. Зимние каникулы ^_^
Команда форума
чудес не бывает, phpmyadmin - это тоже страница.
Я понимаю, но к сожалению у меня так получается

это отладочный вывод из страницы
Да, но не совсем, я немного сократил запрос.
полностью выглядит так:
PHP:
$sql =
    "SELECT market.id, market.text,
        market.addr, market.contact,
        market_rubrik.rub_name
    FROM market, market_rubrik
    WHERE market.id IN('".$where."')
        AND market.rubrik_id = REPLACE(market_rubrik.rub_num, '.','')
    ORDER BY FIND_IN_SET (market.id, '".$in_set."') ";
 

Гравицапа

elbirret elcno
А какое это всё счастье имеет отношение к пхп?!
Вернее именно к этому форуму, есть же спец-ый php & mysql?!
 

Mr_Max

Первый класс. Зимние каникулы ^_^
Команда форума
Тему можно и перенести.
Извините.

-~{}~ 17.01.06 15:14:

Ребята, спасибо
ошибку удалось найти:
не работает ORDER BY FIND_IN_SET (market.id, '".$in_set."')
работаетORDER BY FIND_IN_SET(market.id, '".$in_set."')

То-есть FIND_IN_SET[без пробела](
Так сразу фиг наёдёшь ошибку :(
 

kruglov

Новичок
MySQL отличает функции от переменных и пр. тем, что после функций без пробела должна следовать скобка.
 
Сверху