Получить заказанные размеры (количество) для продукта из всех заказов - Zen Cart - PullRequest
0 голосов
/ 10 декабря 2018

Я использую Zen Cart 1.5.5.Существует способ создания документа Excel с историей заказов из заказа X в заказ Y.

Таблица MS Excel, показанная здесь Все отлично работает - название продукта, общее количество и т. Д. Он рассчитывает, какмного раз продукт заказан вообще.

Проблема в том, что у меня есть дополнительное поле с размерами для продукта.В настоящее время мой код рассчитывает размер один раз для каждого продукта.

Один заказ может иметь:

x1 Everyday T-shirt, size L
x5 Pyjamas, size M
x1 Other, size XXL

Результат будет: проверить результат

Таким образом, цифры не складываются, как вы можете видеть на картинке выше.

Связанные таблицы базы данных - orders , orders_products и orders products attribute

SELECT * FROM shop_orders 
LEFT JOIN shop_orders_products ON shop_orders.orders_id = shop_orders_products.orders_id 
LEFT JOIN shop_orders_products_attributes ON shop_orders_products.orders_products_id = shop_orders_products_attributes.orders_products_id 
WHERE shop_orders.orders_id > 1
AND shop_orders.orders_id > XXX
AND shop_orders.orders_id < YYY
ORDER BY shop_orders_products.products_id ASC

orders_id может быть одним и тем же номером для нескольких строк

products_id - это идентификатор продукта, вот какЯ получаю общее количество заказов определенного продукта, но не его размеры

products_quantity отображает заказанное количество одного элемента любого заказа (РАЗМЕР)

products_options_values - это имя размера - M, L, XL, XXL и т. Д.

Строка, связанная с вычислениями:

$products_options_values[$id][] = $row['products_options_values'];
$elementCount = array_count_values($products_options_values[$id]);

Как вы, вероятно, догадались, не знаяДзен-корзину, в частности, он учитывает каждый размер только один раз за строку, независимо от того, является ли он болеее чем один.

tl; dr Мне нужна ваша помощь с кодом php, где я в настоящее время получаю идеальные результаты запроса, но мне нужно рассчитать products_quantity за products_id сгруппирован по products_options_values ​​ из всех orders_id .

Слишком много текста, извините.Ответ прост, но я заблокировал.

...