Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
PHP 5. На примерах. Авторы: Кузнецов М.В., Симдянов И.В., Голышев С.В. PHP на примерах (2 издание). Авторы: Кузнецов М.В., Симдянов И.В. Самоучитель MySQL 5. Авторы: Кузнецов М.В., Симдянов И.В. MySQL на примерах. Авторы: Кузнецов М.В., Симдянов И.В. PHP. Практика создания Web-сайтов (второе издание). Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум MySQL

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: Унать порядковый номер ряда/записи среди всех найденных рядов/записей срествами MYSQL
 
 автор: Борис   (20.01.2009 в 13:18)   письмо автору
 
 

Здравствуйте!
Имеется таблица товаров:
CREATE TABLE `products` (
`id` INT NOT NULL , //id товара
`category_id` INT NOT NULL , //id родительской категории
`name` VARCHAR( 50 ) NOT NULL , //название товара
`price` INT NOT NULL , //цена товараPRIMARY KEY ( `id` ) ,
INDEX ( `category_id` , `name` , `price` , `number` )
);

Я произвожу поиск по товарам(название, родительская категория и диапозон цен) с сортировкой по цене в убывающем порядке и вывожу список найденных товаров с помощью запроса:
SELECT * FROM `products` WHERE `category_id`='2' AND `name` LIKE \"%Стол%\" AND `price`=>'1000' AND `price`<='3000' ORDER BY `price` ASC

1) Стол "Железный" - 2900 $ - id=7
2) Стол "Деревнный" - 2800 $ - id=12
3) Стол "Пластмассовый" - 2700 $ - id=3
4) Стол "Картонный" - 2600 $ - id=1
5) Стол "Резиновый" - 2500 $ - id=9
6) Стол "Стеклянный" - 2400 $ - id=13
7) Стол "Чёрный" - 2300 $ - id=4
8) Стол "Зелённый" - 2200 $ = id=8

Мне необходимо узнать порядковый номер товара с id=9( Стол "Резиновый" ) в массиве найденных записей/рядов (основываясь на запросе выше) средствами MYSQL, если такое возможно. Вариант поиска по массиву созданному программно с помощью mysql_fetch_array или mysql_fetch_row не подходит.

Также если такое возможно хотелось бы узнать, как определить какой ряд/запись (товар) будет следующим и предыдущим после товара c id=9( Стол "Резиновый" ) в массиве найденных рядов/записей (основываясь на запросе выше) средствами MYSQL. Опять прогаммное создание массива и обработка не подходят.

P.S. необходимо для реализации блока (смотреть предыдущий товар | смотреть следующий товар)

  Ответить  
 
 автор: Trianon   (20.01.2009 в 13:56)   письмо автору
 
   для: Борис   (20.01.2009 в 13:18)
 

У Вас нет жесткого критерия сортировки (товары могут иметь одну и ту же цену), следовательно SQL-средствами Вы эту задачу не решите.

  Ответить  
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования