2016-12-24 4 views
1

私の予想するように、私の期待するところでは、と$lat2で表される地理座標入力から012マイルの範囲内でsingle人を返します。値lattitudelongitudeはすでに私のデータベースの値から来ます。0の代わりに空を返します

私が今持っている唯一の問題は、与えられた条件を満たしている人がいないと仮定すると、私が代わりに私が空の応答を取得する0を返すように集計したい、ということです。

SELECT 
COUNT(*) as cnt, 
(3959 * 
    acos(
     cos(radians({$lat1})) 
     * cos(radians(lattitude)) 
     * cos(radians(longitude) - radians({$lon1})) 
     + sin(radians({$lat1})) 
     * sin(radians(lattitude)) 
    ) 
) AS distance 
    FROM members WHERE status = 'single' HAVING distance < 50 

それが重要な場合、私は$queryあなたは上記を参照のコードである$row = mysqli_fetch_assoc($query);を経由して取り出された私のデータを持っています。

SELECT ifnull(COUNT(*), 0) as cnt, 

答えて

1

あなたは、使用する必要があります。

+0

それは非常に奇妙です。私はまだ空白の結果を返しています。 – abrahamlinkedin

+0

うん、それは私のAPIとの奇妙な何かがあったが判明しました。コードが動作します。ありがとう! – abrahamlinkedin

1

はたぶん、クエリに誤りがあるIFNULLあなたは別とcount(*)あなたが欠落しているgroup byを与えているはずがない集計列を使用している場合

+0

はい。間違いは間違いありません。 '0'の値が表示されるようにクエリを書き直すにはどうすればよいですか? – abrahamlinkedin

関連する問題