【发布时间】:2012-08-10 20:36:34
【问题描述】:
所以我正在尝试将一些 Wordpress 与后端集成。他们的 MySQL 架构不是很好,尤其是当您添加 Woocommerce 时。
我想出了以下查询:
SELECT wp.*
FROM wp_postmeta wp
INNER JOIN (SELECT post_id
FROM wp_postmeta
WHERE ( `meta_key` = '_shipping_method'
AND `meta_value` = 'free_shipping' )
OR ( `meta_key` = '_order_items'
AND `meta_value` LIKE '%search%' )) a
ON a.post_id = wp.post_id
ORDER BY wp.post_id DESC
在这张桌子上运行http://i.imgur.com/YBaGq.jpg 为某些人选择正确的东西。
现在,当我在 PHP 中 var_dump 时,它会像这样(截断)-http://pastebin.com/WR3byT8k
有什么方法可以将它正确地映射到一个数组,以便我可以使用一些简单的东西,例如:
echo $content['_billing_first_name'];
echo $content['_billing_last_name'];
会输出:John
Citizen
请记住,所有内容都是动态的,所以我不能只使用行号。
【问题讨论】:
-
我刚刚发布了输出的一个片段,但是它很奇怪。这是我的代码 - pastebin.com/pxdcJNni
-
一方面,
mysql_fetch_assoc而不是mysql_fetch_array。似乎完成您想要的最简单的方法是执行GROUP BY然后循环每个结果,合并数组。 -
WordPress 电子商务?多么糟糕的数据库灾难。
-
对,你是 njk。 @jli 你怎么建议我
GROUP BY?我看不到任何明显的解决方案... -
题外话,但为了避免 Wordpress 电子商务这一垃圾风暴,我建议看看 Shopify。