Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770
Форумы портала PHP.SU :: Версия для печати :: Выборка информации из бд в указанной последовательности
Форумы портала PHP.SU » PHP » SQL и Архитектура БД » Выборка информации из бд в указанной последовательности

Страниц (1): [1]
 

1. voloxa89 - 03 Октября, 2012 - 11:26:33 - перейти к сообщению
Здравствуйте!
Сортирую массив и делаю из него строку

Строка получается следующего вида: 33, 60, 100, 21 и тд
Делаю запрос на выборку из бд
PHP:
скопировать код в буфер обмена
  1.  
  2. $q = "SELECT * FROM  jos_virtuemart_products_ru_ru as product WHERE  product.virtuemart_product_id IN(".$sort.")";
  3.  

В итоге получаю результат товар с ид 21, 33, 60,100. Но мне нужно в такой же последовательности как я подаю значения из $sort
Подскажите как можно это сделать?
2. Alho - 03 Октября, 2012 - 14:16:37 - перейти к сообщению
Читаем документацию на мускл - он не регламентирует порядок выдачи записей при отсутствии order by.
Так что либо довольствуйтесь записями отсортированными order by или напишите функцию, которая создаст массив и отсортирует в нужном вам порядке.
3. voloxa89 - 03 Октября, 2012 - 14:48:59 - перейти к сообщению
Дело в том что на движке реализована пагинация через LIMIT. Перед выводом товара мне нужно сделать запрос в базу. Выбрать все товары для текущей категории, отсортировать массив от а до я. После сортировки получаем строку 20, 40, 70, 80 итд. Строку подаем в базу и выбираем товар в по ид + выводим limit

 

Powered by ExBB FM 1.0 RC1