【发布时间】:2014-10-16 09:11:10
【问题描述】:
我正在使用 wordpress 和 Woocommerce 为客户创建一个运输插件。我有一个管理屏幕,显示所有带有可选过滤器的货件,即日期范围、承运商、服务方法等。我可以使用以下代码根据日期范围查询数据库中的记录。
SELECT ID
FROM wp_posts
WHERE post_type LIKE 'shop_order'
AND ID = ANY
(SELECT post_id
FROM wp_postmeta
WHERE meta_value
BETWEEN DATE_SUB( NOW( ) , INTERVAL 30 DAY AND NOW( ) );
LIMIT 0 , 30
但是,当我想添加另一个过滤器(例如运营商,即“USPS”)时,会返回一个空结果。添加以下内容时:
AND meta_value LIKE 'USPS' )
我在我的代码中使用 $wpdb,但是,上面是 phpmyadmin 中的直接调用。
【问题讨论】:
-
有一些问题是您的查询..它在没有 meta_value LIKE 'USPS' 的情况下无法正常工作。请编辑它。
-
首先修复 INTERVAL 30 DAY AND NOW( ) ) - INTERVAL 30 DAY) AND NOW( )。那为什么 meta_value 既是日期又是字符串呢?
标签: php mysql sql wordpress woocommerce