【发布时间】:2019-02-23 12:42:57
【问题描述】:
在 Woocommerce 中,目前我有一个表单,客户可以在其中输入订单号、姓名和邮政编号。该代码通过此代码,如果一切正确,则向客户显示他订购的商品,这导致了我的问题:
在 WooCommerce 表中,价格和数量都在同一列中,我似乎无法单独获取值。
我尝试了不同的方法来完成当前的查询,但这是我最接近成功的最新方法:
$sql2 = "SELECT *
FROM wp_woocommerce_order_items
LEFT JOIN wp_woocommerce_order_itemmeta ON wp_woocommerce_order_items.order_item_id = wp_woocommerce_order_itemmeta.order_item_id
WHERE wp_woocommerce_order_items.order_id = $ordernumber
AND (meta_key IN ('_line_total', '_qty'))";
我还使用 foreach 循环打印结果: (也很抱歉图片和代码中的芬兰语位)
foreach ($res2 as $row) {
echo "<input type='checkbox' name='productinfo[]'><label> Tuotenimi: " . $row['order_item_name'] . "<br /> Kappalehinta: " . $row['meta_value'] ." €"
. "<br /><br />";
}
但是,此代码的问题在于,将“_qty”列添加到 AND 子句会导致结果与此处所示的结果一样(也为大部分芬兰网站感到抱歉):
我希望能够将数量和价格打印为单个元素/变量,并能够添加价格,以获得所有产品的总价。
如果代码或问题令人困惑,请问我!
更新
因此,Dipmala 建议我使用 group by 这有助于我获得正确数量的结果。但是,我仍然不知道如何将数量与价格分开打印。 /木偶
【问题讨论】:
-
使用
wc_get_order获取订单详细信息的方法更简单,并且已经有答案解释了获取所需数据所需的一切:stackoverflow.com/questions/39401393/… -
在您的查询中使用 group bye 它将解决您的问题
-
你也可以尝试使用
SELECT DISTINCT * -
@dipmala 很抱歉回答的太晚了,我不得不下车一段时间,但是,有什么具体的价值我应该订购它们吗?因为我没有看到任何区别。
标签: php mysql wordpress woocommerce orders