मुझे लगता है कि आप जो हासिल करने की कोशिश कर रहे हैं वह Haversine फ़ॉर्मूला का उपयोग करके बेहतर तरीके से किया जा सकता है। आपके एसक्यूएल में। Google के पास एक ट्यूटोरियल है कि कैसे MySQL डेटाबेस में निकटतम स्थान प्राप्त करें लेकिन सामान्य विचार यह SQL है:
SELECT id, ( 3959 * acos( cos( radians(37) ) * cos( radians( lat ) )
* cos( radians( lng ) - radians(-122) ) + sin( radians(37) )
* sin( radians( lat ) ) ) ) AS distance
FROM markers
HAVING distance < 25
ORDER BY distance LIMIT 0 , 20;
फिर आपको जो भी काम करने की ज़रूरत है वह डेटाबेस पर किया जाता है, इसलिए आपको दूरी की जांच करने से पहले सभी व्यवसायों को अपनी PHP स्क्रिप्ट में खींचने की ज़रूरत नहीं है।