mysql - Is it possible to call a function in my SELECT statement in php? -


i have database holds different locations, each of has own longitude , latitude variable. want able use distance function made returns distance between 2 longitudes , latitudes in statement. looking distance between 2 points , pass statement if less radius searching.

distance function:

function distance($lat1, $lon1, $lat2, $lon2) {     $theta = $lon1 - $lon2;     $dist = sin(deg2rad($lat1)) * sin(deg2rad($lat2)) +  cos(deg2rad($lat1)) * cos(deg2rad($lat2)) * cos(deg2rad($theta));     $dist = acos($dist);     $dist = rad2deg($dist);     $miles = $dist * 60 * 1.1515;     return $miles; } 

inside select statement want this:

select * locations distance($latitude, $longitude, 'latitude', 'longitude') 

however not working. have tried these without luck...

"select * locations distance($latitude, $longitude, 'latitude', 'longitude') < $radius" 

and

sprintf("select * locations %f < $radius", distance($latitude, $longitude, 'latitude', 'longitude')) 

is possible preform? if not way around problem? thanks!

edit: tried

"select * locations '" . distance('latitude', 'longitude', $latitude, $longitude) . "' < $radius" 

but didn't work if echo it outputs result looking for. doesn't work right when try use inside mysqli_query

i have use same 1 issue: have used in query follow:

/////////////////////////////////////////////////// $sql = "select ... , '".distance2($lat,$long,'tbl_parkinglocations.lat',`tbl_parkinglocations.lat`) ."'<=20 "; /////////////////////////////////////////////////// 

but in function:

function distance2($lat1,$long1,$lat2,$long2){             //google api              echo $fromaddress=$lat1.','.$long1;             echo $toaddress=$lat2.','.$long2;                 // echo "https://maps.googleapis.com/maps/api/distancematrix/json?origins=$fromaddress&destinations=$toaddress&sensor=false";             $url = json_decode(file_get_contents("https://maps.googleapis.com/maps/api/distancematrix/json?origins=$fromaddress&destinations=$toaddress&sensor=false"));              echo "<br>".$url; exit;              $status = $url->rows[0]->elements[0]->status;             if($status != 'zero_results'){                     $res = round($url->rows[0]->elements[0]->distance->value/1000);                      return $res;             }         } 

it gets 3rd , 4th param follow: 3rd->tbl_parkinglocations.lat 4th->tbl_parkinglocations.lat


Comments

Popular posts from this blog

toolbar - How to add link to user registration inside toobar in admin joomla 3 custom component -

linux - disk space limitation when creating war file -