Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/287.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 获取Woocommerce中的订单项目数据值_Php_Mysql_Wordpress_Woocommerce_Orders - Fatal编程技术网

Php 获取Woocommerce中的订单项目数据值

Php 获取Woocommerce中的订单项目数据值,php,mysql,wordpress,woocommerce,orders,Php,Mysql,Wordpress,Woocommerce,Orders,在Woocommerce中,目前我有一个表单,客户可以输入订单号、姓名和邮政编码。代码通过此代码,如果一切正常,则会向客户显示他订购的商品,这导致了我的问题: 在WooCommerce表中,价格和数量都在同一列中,我似乎无法单独获得值 我尝试了不同的方法来执行当前的查询,但这是我最接近成功的一种方法: $sql2 = "SELECT * FROM wp_woocommerce_order_items LEFT JOIN wp_woocommerce_order_itemmeta ON wp_wo

在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作为$row){
echo“Tuotenimi:.$row['order\u item\u name']。”
Kappalehinta:.$row['meta\u value']。”€“ .“

”; }
但是,该代码的问题是,将“_qty”列添加到AND子句中会导致结果显示为此处所示的两倍(对于大多数芬兰网站也很抱歉):

我希望能够打印数量和价格作为单个元素/变量,并能够添加价格,以获得所有产品的总价格

如果代码或问题令人困惑,请问我任何问题

更新

因此,迪普拉建议我使用这个小组来帮助我获得正确数量的结果。但是,我仍然不知道如何将数量和价格分开打印。
/Puppe

使用SQL查询,尝试以下操作(其中,
$order\u id
是post id(或订单号)):

$order=wc\u get\u order($order\u id);
回音“”__(‘订单总数:’)$订单->获取总计()

",; foreach($order->get_items()作为$item){ 回声“”; echo('Product name:')。$item->get_name()。
; 回显('Quantity:')。$item->get_Quantity()。
; echo('Line total:')。wc_price($item->get_total())。

; }
相关的:


使用
wc\u get\u order
获取订单详细信息的方法更简单,而且已经有答案解释了获取所需数据所需的一切:查询中可能存在重复的使用组bye,这将解决您的问题您也可以尝试使用
SELECT DISTINCT*
@dipmala很抱歉这么晚了回答,我必须下车一段时间,但是,有什么具体的价值我应该订购它们吗?因为我看不出有什么区别。差点忘了问斯韦尔,打印订单的总价会怎么样?有没有这样的功能,或者我需要把商品价格加在一起?这很有道理,我现在觉得有点傻。非常感谢你!
 foreach ($res2 as $row) {
   echo "<input type='checkbox' name='productinfo[]'><label> Tuotenimi: " . $row['order_item_name'] . "<br /> Kappalehinta: " . $row['meta_value'] ." €"
          . "<br /><br />";
        }
$order = wc_get_order( $order_id );

echo '<p>'. __('Order total: ') . $order->get_total() . '</p>';

foreach ( $order->get_items() as $item ){
    echo '<p>';
    echo __('Product name: ') . $item->get_name() . '<br>';
    echo __('Quantity: ') . $item->get_quantity() . '<br>';
    echo __('Line total: ') . wc_price($item->get_total()) . '</p>';
}