|
|
|
Запрос вывода категории-модификации с лимитированием
|
|||
|---|---|---|---|
|
#18+
Добрый день. Помогите составить запрос (если это возможно) Имеется база с таблицами catalog_goods id name type (1 - категория, 2 - модификация) catalog_good_modification id good_id good_modification В таблице catalog_good_modification good_id и good_modification - это id из catalog_goods товара категории и товара-модификации Пример catalog_goods 1, Категория, 1 2, Модификация 1, 2 3, Модификация 2, 2 good_modification 1, 1, 2 2, 2, 1 3, 1, 3 4, 3, 1 5, 2, 3 6, 3, 2 Задача: Вывести с помощью минимума запросов из catalog_goods в виде Категория Модификация 1 Модификация 2 т.е. чтобы выводилась сначала категория, а ниже выводились модификации к этой категории. Причем должно быть не более 30 записей на странице, а также если попали на вторую страницу и часть модификаций остались на 1-й странице, а часть на 2-й, то на 2-й странице первой записью должен быть товар-категория (как шапка). В wordpress подобно сделан вывод списка записей в админке (в разделе Страницы) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.01.2015, 18:56:19 |
|
||
|
Запрос вывода категории-модификации с лимитированием
|
|||
|---|---|---|---|
|
#18+
А теперь всё то же, но в виде ПРОВЕРЕННЫХ рабочих скриптов создания таблиц, наполнения таблиц данными, и желаемый результат на ИМЕННО ЭТИХ данных. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.01.2015, 19:14:19 |
|
||
|
Запрос вывода категории-модификации с лимитированием
|
|||
|---|---|---|---|
|
#18+
Вот база Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. 49. 50. Нужно вывести на 3х страницах по 3 товара 1. страница Категория 1 Модификация 1 Модификация 2 Поскольку есть ещё Модификация 3,то 2. страница Категория 1 Модификация 3 Категория 2 3. страница Категория 3 Как видно из примера, на второй странице дублируется шапка (Категория 1) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.01.2015, 19:48:18 |
|
||
|
Запрос вывода категории-модификации с лимитированием
|
|||
|---|---|---|---|
|
#18+
igramnetКак видно из примера, на второй странице дублируется шапка (Категория 1)Это выходит за рамки реляционной модели. И реализации одним запросом я лично не вижу - то есть на самом деле вижу но получается жуткое многоэтажное безобразие. Предполагаю, что в рамках серверной логики без излишнего усложнения это реализуется только в форме хранимой процедуры. Если таблица достаточно статическая, то строится запрос без этих "шапок", нумерующий записи (поле "порядок сортировки"), результат сбрасывается в специальную промежуточную таблицу. Затем выполняется проход курсором с подсчётом уже пройденных записей, и выполняется сравнение категорий ТЕКУЩИХ записей с номерами K*N и K*N+1, где N - количество записей на страницу, K - целое. Если их категории не совпадают, то в таблицу добавляется запись с категорией для записи K*N и полем "порядок сортировки", равным K*N+0,5. Полученная таблица используется повторно. Если таблица частоизменяемая, проще в процедуре просто пройти курсором, подсчитывая пагинацию, и выдавать нужные записи. В любом случае получится очень неспешная реализация. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.01.2015, 09:19:36 |
|
||
|
|

start [/forum/topic.php?fid=47&msg=38861378&tid=1833666]: |
0ms |
get settings: |
7ms |
get forum list: |
10ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
114ms |
get topic data: |
8ms |
get forum data: |
2ms |
get page messages: |
42ms |
get tp. blocked users: |
1ms |
| others: | 196ms |
| total: | 384ms |

| 0 / 0 |
