使用查询在一行中组合两个元值

时间:2012-10-18 作者:dcolumbus

我向wp_usermeta 表格:

bid_user_latbid_user_lng

我需要能够在一行中获得这两个值,以及user_id.

ROW - (user_id) 220 | (bid_user_lat) 45.099080 | (bid_user_lng) -140.09099

现在是棘手的部分。。。然后,我需要在计算半径语句中使用这些值:

( 3959 * acos( cos( radians( @lat ) ) * cos( radians( **bid_user_lat.meta_value** ) ) * cos( radians( **bid_user_lng.meta_value** ) - radians( @lng ) ) + sin( radians( @lat ) ) * sin( radians( **bid_user_lat.meta_value** ) ) ) ) AS distance

最后,我会确保用户在某个半径范围内,如果是,我会在查询中返回它。

But the most important part is being able to query the wp_usermeta the way I need to!

1 个回复
最合适的回答,由SO网友:Wyck 整理而成

您可以使用WP_User_Query 类,其工作方式非常类似WP_Query.

文件:http://codex.wordpress.org/Class_Reference/WP_User_Query

下面是它将返回的WP\\U用户对象的转储,在本例中使用:

$wp_user_search = new WP_User_Query( array( \'fields\' => \'all_with_meta\' ) );
$get_users = $wp_user_search->get_results(); 
user var_dump

这应该为您确定正确的方向,因为不清楚新meta\\u键是如何设置的,也不清楚您希望如何运行查询。第二个问题与WordPress无关:)

如果您不想使用WP_User_Query 您必须使用$wpdb 哪个是更直接的mySQL查询。

可能是这样的:

global $wpdb;
$get_map_user = $wpdb->get_results("SELECT * from $wpdb->usermeta WHERE meta_key = \'bid_user_lat\'");
如果你有一个可能会更好meta_key 使用2个长/纬度值,而不是2个元键。

http://codex.wordpress.org/Class_Reference/wpdb

结束

相关推荐

与jQuery(或其插件)的“冲突”?

我一直在使用localhost,一切看起来都很好,但当我在线上传我的Wordpress主题时,所有的jQuery插件函数都没有定义!一个有效的解决方案(我还没有进行过很多测试,所以我仍然不知道它是否能长期工作)是从插件的主网站或github页面导入javascript文件。我真的不喜欢这种“解决方案”另一个是解决方案here 但我也没有对此进行过很多测试。我在这里的问题是,我在另一个主题中使用了jQuery,所有内容都使用$, 但在我的新主题中,它与$ 所以我必须使用$j 相反只是我很习惯用$.有人能解释