Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/265.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/66.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php MySQL:搜索一个简单的表,但是将WordPress的“wp\u usermeta”表与meta\u key/meta\u值组合在一起_Php_Mysql_Sql_Wordpress - Fatal编程技术网

Php MySQL:搜索一个简单的表,但是将WordPress的“wp\u usermeta”表与meta\u key/meta\u值组合在一起

Php MySQL:搜索一个简单的表,但是将WordPress的“wp\u usermeta”表与meta\u key/meta\u值组合在一起,php,mysql,sql,wordpress,Php,Mysql,Sql,Wordpress,正如我在标题中提到的,我正在“bid_userloc”表中请求纬度和经度。。。但我需要结合“wp_usermeta”表中的信息 SET @centerLat = '48.531157'; SET @centerLng = '-123.782959'; SELECT *, ( 3959 * acos( cos( radians( @centerLat ) ) * cos( radians( lat ) ) * cos( radians( lng ) - radians(@centerLng) )

正如我在标题中提到的,我正在“bid_userloc”表中请求纬度和经度。。。但我需要结合“wp_usermeta”表中的信息

SET @centerLat = '48.531157';
SET @centerLng = '-123.782959';

SELECT *, ( 3959 * acos( cos( radians( @centerLat ) ) * cos( radians( lat ) ) * cos( radians( lng ) - radians(@centerLng) ) + sin( radians( @centerLat ) ) * sin( radians( lat ) ) ) ) AS distance FROM bid_userloc HAVING distance < 25 ORDER BY distance LIMIT 0 , 20
例如,我需要meta_key昵称的meta_值。。。和许多其他人一样,但一旦我看到一个人是如何做到的,我可以添加更多


我真的很感激

试试这个,用你原来拥有的东西代替距离,用真实的东西代替其他东西:

SET @centerLat = '48.531157';
SET @centerLng = '-123.782959';

SELECT bid_userloc.*, distance, nickname.meta_value, something_else.meta_value
FROM bid_userloc
LEFT JOIN wp_usermeta AS nickname 
    ON nickname.userid = bid_userloc.user_id 
        AND nickname.meta_key = 'nickname'
LEFT JOIN wp_usermeta AS something_else 
    ON something_else.userid = bid_userloc.user_id 
        AND something_else.meta_key = 'something_else'
HAVING distance < 25
ORDER BY distance 
LIMIT 0 , 20

修改后的答案如下:

SET @centerLat = '48.531157';
SET @centerLng = '-123.782959';

SELECT bid_userloc.*, nickname.meta_value, last_name.meta_value,
( 3959 * acos( cos( radians( @centerLat ) ) * cos( radians( lat ) ) * cos( radians( lng ) - radians(@centerLng) ) + sin( radians( @centerLat ) ) * sin( radians( lat ) ) ) ) AS distance
FROM bid_userloc
LEFT JOIN wp_usermeta AS nickname 
    ON nickname.user_id = bid_userloc.user_id 
        AND nickname.meta_key = 'nickname'
LEFT JOIN wp_usermeta AS last_name 
    ON last_name.user_id = bid_userloc.user_id 
        AND last_name.meta_key = 'last_name'
HAVING distance < 25
LIMIT 0 , 20

谢谢你的来电。。。然而,距离声明似乎提出了一个问题。距离的存在仅仅是因为它的力量。。。数据库里什么地方都没有,我找到了。我将把它作为一个答案发布。。。非常感谢。
SET @centerLat = '48.531157';
SET @centerLng = '-123.782959';

SELECT bid_userloc.*, nickname.meta_value, last_name.meta_value,
( 3959 * acos( cos( radians( @centerLat ) ) * cos( radians( lat ) ) * cos( radians( lng ) - radians(@centerLng) ) + sin( radians( @centerLat ) ) * sin( radians( lat ) ) ) ) AS distance
FROM bid_userloc
LEFT JOIN wp_usermeta AS nickname 
    ON nickname.user_id = bid_userloc.user_id 
        AND nickname.meta_key = 'nickname'
LEFT JOIN wp_usermeta AS last_name 
    ON last_name.user_id = bid_userloc.user_id 
        AND last_name.meta_key = 'last_name'
HAVING distance < 25
LIMIT 0 , 20