【发布时间】:2017-05-02 07:41:36
【问题描述】:
问题:
我需要一种方法来首先获得使用特定优惠券代码进行的所有销售。然后从所有这些销售中获得总收入(最好减去这些销售的任何回报。以获得实际收入值)。
执行思路
我为此使用了 woocommerce 2.6.8 和 MySql 数据库。我的猜测是,我必须以某种方式首先计算使用 PHP 和 MySql 的特定优惠券的销售额。然后,对于每个带有特定优惠券的唯一订单 ID,重新查询总和。
非常感谢您对 PHP 和查询的外观提出任何建议 :)
我应该指出,我不希望从优惠券中获得折扣总额。我需要计算使用特定优惠券(不是折扣)已售出的总价值。
好的,所以到目前为止仍然没有可行的解决方案。但这就是我认为它的基本结构。获得总数并不容易,因为优惠券与订单没有直接关联。 我相信查询必须是这样的:
{TBLPRFX}_woocommerce_order_items
第 1 步。获取 order_id FOR order_item_name={COUPON_NAME}
步骤 2. GET order_item_id FOR order_item_type=line_item WHERE order_id EQUAL {RESULT FROM STEP 1}
| order_item_id | order_item_name | order_item_type | order_id |
| 40971 | {COUPON_NAME} |优惠券 | 001
| 40970 |增值税 |税务 | 001
| 40969 | {PRODUCT_NAME} | line_item | 001
--
{TBLPRFX}_woocommerce_order_itemmeta
第 3 步。从 meta_key=_line_tax AND meta_key=_line_total 求和 meta_value,其中 order_item_id={RESULT FROM STEP 2}
| order_item_id |元密钥 |元值 |
| 40969 | _line_tax | {VALUE_TAX}
| 40969 | _line_total | {VALUE_TOTAL}
| 40969 | _product_id | {PRODUCT_ID}
--
这是我需要帮助弄清楚的查询 :) 不太确定如何在 MySql 和 PHP 中提出这个要求。我们的想法是将此作为“order_item_name = {COUPON_NAME_VARIABLE}”的foreach,这样我就可以总结使用该优惠券的所有销售总额(即不是优惠券折扣值)。
【问题讨论】:
-
这是一次性查询还是您尝试将其作为报告添加到页面中?对 woocommerce 表有一定了解的人可能会告诉您一个简单的 SQL 查询来获得结果。这是我的 google 搜索,开始研究 google.com/… 但您的 SQL 查询可能类似于
SELECT SUM(orderValue) FROM orders WHERE order.coupon='somecoupon'--- 所以您不必进行任何计数或循环,您可以让 SQL 处理繁重的工作。 -
将其添加为报告页面可能是未来的项目。现在,我只需在 PHP 页面上获取总和就可以了 :) 我会看看你的 GSearch 看看我是否能弄清楚……'在那之前,请继续提出你的建议;)是的,您建议的查询是我的想法,我只是不知道如何执行它(以及在哪里可以找到所有要查找的列。Woocommerce 在其 SQL 结构中一直不是很“直截了当” )
-
是的,抱歉,我不使用 wordpress 或 woocommerce,但我处理数据库并且通常使用“管理”工具让我查看 SQL 表(如 excel),然后从那里构建 SQL 查询--- 我不知道 wordpress 是否有类似的东西。有时,这些工具还能够为所有表格创建一个漂亮的“网络”,这样您就可以看到它们是如何相互关联的。
-
所以...尝试 phpmyadmin 查看 wordpress 的 SQL 数据库和这里的 woocommerces 数据库描述github.com/woocommerce/woocommerce/wiki/Database-Description
标签: php mysql woocommerce