【发布时间】:2018-01-12 03:08:40
【问题描述】:
我有这张桌子(wp_woocommerce_order_itemmeta):
还有这张表(wp_woocommerce_order_items):
我正在使用一个函数 (functions.php),它在数组中返回这些项目 ID:
function retrieve_orders_ids_from_a_product_id( $product_id, $order_date ) {
global $wpdb;
$table_posts = $wpdb->prefix . "posts";
$table_items = $wpdb->prefix . "woocommerce_order_items";
$table_itemmeta = $wpdb->prefix . "woocommerce_order_itemmeta";
// Define HERE the orders status to include in <== <== <== <== <== <== <==
$orders_statuses = "'wc-processing'";
# Requesting All defined statuses Orders IDs for a defined product ID
$orders_ids = $wpdb->get_col( "
SELECT DISTINCT $table_items.order_id
FROM $table_itemmeta, $table_items, $table_posts
WHERE $table_items.order_item_id = $table_itemmeta.order_item_id
AND $table_items.order_id = $table_posts.ID
AND $table_posts.post_status IN ( $orders_statuses )
AND $table_itemmeta.meta_key LIKE '_product_id'
AND $table_itemmeta.meta_value LIKE '$product_id'
AND $table_itemmeta.meta_key LIKE 'order_date'
AND $table_itemmeta.meta_value LIKE '$order_date'
ORDER BY $table_items.order_item_id DESC"
);
// return an array of Orders IDs for the given product ID
return $orders_ids;
}
我在我的页面中调用它:
<?php $orders_ids_array = retrieve_orders_ids_from_a_product_id($getid, $order_date); ?>
我 100% 确定 $getid ($getid = product_id) 和 $order_date 具有我从数据库中获取的确切值。
但如果我print_r 数组返回:
数组( )
而不是任何值。
最后我需要计算这些 id-s,但如果不返回任何东西,我觉得这是不可能的。
【问题讨论】:
-
你能在 phpmyadmin 或 Sequel Pro 中运行你的 sql 语句吗?对其进行故障排除。
-
试过了。它运行但返回什么都没有。
-
好的,没有 order_date 它可以工作并返回 id。而且我想我知道我的问题是什么。