0
$query = sprintf("SELECT user_id, lat, lng, ( 3959 * acos( cos( radians('%s') ) * cos( radians( lat ) ) * cos( radians( lng ) - radians('%s') ) + sin( radians('%s') ) * sin( radians( lat ) ) ) ) AS distance FROM bid_latlng HAVING distance < '%s' ORDER BY distance LIMIT 0 , 20",
    mysql_real_escape_string($center_lat),
    mysql_real_escape_string($center_lng),
    mysql_real_escape_string($center_lat),
    mysql_real_escape_string($radius));

私がする必要があるのは、上記のステートメント内を使用してテーブルuser_loginから列を取得することです。wp_usersuser_id

wp_users TABLE
id | user_login

JOIN最初のステートメント内の結果を利用して2つのステートメントを適切に処理する方法についてはあまり明確ではありません...

4

1 に答える 1

0

以下のクエリで、必要な結果が得られます。

sprintf("SELECT bid_latlng.user_id,wp_users.user_login, bid_latlng.lat, bid_latlng.lng, 
( 3959 * acos( cos( radians('%s') ) * cos( radians( lat ) ) * cos( radians( lng ) - radians('%s') ) + sin( radians('%s') ) * sin( radians( lat ) ) ) ) AS distance 

    FROM bid_latlng JOIN wp_users ON bid_latlng.user_id = wp_users.user_id HAVING distance < '%s' ORDER BY distance LIMIT 0 , 20",
        mysql_real_escape_string($center_lat),
        mysql_real_escape_string($center_lng),
        mysql_real_escape_string($center_lat),
        mysql_real_escape_string($radius));
于 2012-08-28T22:53:45.770 に答える