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

Форум MySQL

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

 

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

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

тема: Ограничить количество записей при многотабличном запросе Limit не подходит
 
 автор: Ringo   (17.07.2009 в 01:08)   письмо автору
 
 

Привет всем! пишу каталог на PHP.

Организация полей в базе как здесь
http://softtime.ru/forum/read.php?id_forum=3&id_theme=48491
Так вот вопрос, как сделать что ограничить выводимое число товаров.
Например мне из таблицы products вывести всего один товар или десять.
И что бы вывелись все доп поля к нему:

Как модернизировать этот запрос на ограничение:

SELECT p.id, c.name AS cn,  p.name AS pn, f.name AS fn, fv.value
  FROM products p 
  JOIN categories с ON p.cat_id = c.id AND c.name IN ('процессоры', 'видеокарты')
  LEFT JOIN field_values  fv ON p.id = fv.product_id 
  LEFT JOIN fields f  ON fv.field_id = f.id
ORDER BY c.name, p.name, p.id, f.id, fv.id 



Limit 0, 1 тут не подойдет тк он ограничит общее выводимое число строк =(
Можно конечно в пхп, но ведь запрос будет постоянно вытаскивать ВСЕ товары из категории.
И как организовать при таком подходе постраничную навигацию? лимита нету =(((

Второй запрос с GROUP_CONCAT не подходит тк он имеет ограничение 1024 символа, а значение доп поля может быть очень большим

Очень прошу ответьте кто знает =) хотя если честно у меня такое чувство что решений не существует =((((

  Ответить  
 
 автор: Trianon   (17.07.2009 в 01:22)   письмо автору
 
   для: Ringo   (17.07.2009 в 01:08)
 

сделайте два запроса.
Один (с LIMIT) вытянет первичные ключи товаров, другой (без LIMIT ) по ним вытянет все требуемые свойства.

  Ответить  
 
 автор: Ringo   (17.07.2009 в 01:26)   письмо автору
 
   для: Trianon   (17.07.2009 в 01:22)
 

Ага понял, тоесть вторым запросом вытаскивать значения свойств, а записывать их в массив? получается два массива в пхп, товаров и значениями свойств с которыми работать?

  Ответить  
 
 автор: Trianon   (17.07.2009 в 01:33)   письмо автору
 
   для: Ringo   (17.07.2009 в 01:26)
 

Обработку результата второго запроса можно вести произвольным образом.

  Ответить  
 
 автор: Ringo   (17.07.2009 в 01:35)   письмо автору
 
   для: Trianon   (17.07.2009 в 01:33)
 

А как понять произвольным?

  Ответить  
 
 автор: Trianon   (17.07.2009 в 01:42)   письмо автору
 
   для: Ringo   (17.07.2009 в 01:35)
 

Так , как если бы Вы обрабатывали запрос, не сталкиваясь с проблемой LIMIT

  Ответить  
 
 автор: Ringo   (17.07.2009 в 01:45)   письмо автору
 
   для: Trianon   (17.07.2009 в 01:42)
 

Кажется понял, ОГРОМНОЕ СПАСИБО! Вы как всегда выручили =)!!

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

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