|
|
|
| Привет всем! пишу каталог на 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 символа, а значение доп поля может быть очень большим
Очень прошу ответьте кто знает =) хотя если честно у меня такое чувство что решений не существует =(((( | |
|
|
|
|
|
|
|
для: Ringo
(17.07.2009 в 01:08)
| | сделайте два запроса.
Один (с LIMIT) вытянет первичные ключи товаров, другой (без LIMIT ) по ним вытянет все требуемые свойства. | |
|
|
|
|
|
|
|
для: Trianon
(17.07.2009 в 01:22)
| | Ага понял, тоесть вторым запросом вытаскивать значения свойств, а записывать их в массив? получается два массива в пхп, товаров и значениями свойств с которыми работать? | |
|
|
|
|
|
|
|
для: Ringo
(17.07.2009 в 01:26)
| | Обработку результата второго запроса можно вести произвольным образом. | |
|
|
|
|
|
|
|
для: Trianon
(17.07.2009 в 01:33)
| | А как понять произвольным? | |
|
|
|
|
|
|
|
для: Ringo
(17.07.2009 в 01:35)
| | Так , как если бы Вы обрабатывали запрос, не сталкиваясь с проблемой LIMIT | |
|
|
|
|
|
|
|
для: Trianon
(17.07.2009 в 01:42)
| | Кажется понял, ОГРОМНОЕ СПАСИБО! Вы как всегда выручили =)!! | |
|
|
|