【发布时间】:2014-08-25 22:10:29
【问题描述】:
我对 PHP 和 MySql 还是很陌生,我不确定这是否会作为 SQL 或 PHP 来实现。
我有以下疑问:
SELECT wp_posts.ID,
wp_postmeta.meta_value
FROM wp_posts
INNER JOIN wp_postmeta
ON wp_posts.ID = wp_postmeta.post_id
WHERE wp_posts.post_type = 'cooney_properties'
AND wp_posts.post_status = 'publish'
AND (wp_postmeta.meta_key = 'longitude' OR wp_postmeta.meta_key = 'latitude')
这是来自我的 Wordpress 数据库,您可以看到经度和纬度值位于同一列“meta_key”下。
上述查询中的数组给了我与以下类似的结果(不完全是粗略的例子):
Array
(
[0] => stdClass Object
(
[ID] => 25016273
[meta_value] => 51.01454
)
[1] => stdClass Object
(
[ID] => 24617570
[meta_value] => 51.01447
)
[2] => stdClass Object
(
[ID] => 24780750
[meta_value] => 51.01535
)
------------------- (later on items with same ID) -------------
[141] => stdClass Object
(
[ID] => 24617570
[meta_value] => -3.107139
)
[142] => stdClass Object
(
[ID] => 24780750
[meta_value] => -3.096807
)
[143] => stdClass Object
(
[ID] => 24764956
[meta_value] => -3.104187
)
)
来自数据库的同一列我不知道它是否可以在我的查询中修复或者它是否是 PHP 修复,我需要具有相同 ID 的项目在同一个数组中,并且可能重命名键,如果可能,如下所示:
Array
(
[0] => stdClass Object
(
[ID] => 25016273
[longitude] => 51.01454
[latitude] => -3.107139
)
[1] => stdClass Object
(
[ID] => 24617570
[longitude] => 51.01447
[latitude] => -3.096807
)
[2] => stdClass Object
(
[ID] => 24780750
[longitude] => 51.01535
[latitude] => -3.104187
)
)
【问题讨论】:
标签: php mysql sql arrays wordpress