我正在使用Zen Cart 1.5.5。有一种方法可以生成具有从订单X到订单Y的订单历史记录的Excel文档。
MS Excel table shown here 一切正常-产品名称,总数量等。它通常计算产品订购的次数。
问题是我还有每个产品尺寸的附加字段。我的代码目前每个产品只计算一次尺寸。
单个订单可以具有:
x1 Everyday T-shirt, size L
x5 Pyjamas, size M
x1 Other, size XXL
结果将是: check out the result
因此,如上图所示,数字不会累加。
相关的数据库表-orders,orders_products和orders products attributes
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 是产品的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]);
您可能不需要特别了解Zen Cart就可以猜测,它每行仅对每个大小计数一次,无论它是否大于一个。
tl; dr 我需要您提供有关php代码的帮助,该代码目前可以从查询中获得理想的结果,但是我需要根据<按所有 orders_id 中的 products_options_values 分组的strong> products_id 。
太多文字,抱歉。答案很简单,但我阻止了。