- file_get_contents: documentation ( source)
- array_push: documentation ( source)
- json_decode: documentation ( source)
- json_encode: documentation ( source)
<?php
$location = "NewYork";
$return_arr = array();
$json = file_get_contents('https://maps.googleapis.com/maps/api/geocode/json?address='. $location .'&key=AIzaSyCdKLDXk7VD2GUyLLWOhv-WjQGtvzx2LCg');
$obj = json_decode($json, true);
$lat = $obj['results'][0]['geometry']['location']['lat'];
$lng = $obj['results'][0]['geometry']['location']['lng'];
$sql = "SELECT
*, (
3959 * acos (
cos ( radians($lat) )
* cos( radians( latitude ) )
* cos( radians( longitude ) - radians($lng) )
+ sin ( radians($lat) )
* sin( radians( latitude ) )
)
) AS distance
FROM Events
HAVING distance < 30
ORDER BY distance";
$fetch = mysqli_query($conn, $sql);
while ($row = mysqli_fetch_array($fetch, MYSQLI_ASSOC)) {
$row_array['title'] = $row['title'];
$row_array['description'] = $row['description'];
$row_array['start'] = $row['start'];
$row_array['end'] = $row['end'];
$row_array['website'] = $row['website'];
$row_array['logo_url'] = $row['logo_url'];
$row_array['online_event'] = $row['online_event'];
$row_array['url'] = $row['url'];
$row_array['venue'] = $row['venue'];
array_push($return_arr,$row_array);
}
echo json_encode($return_arr);
mysqli_close($conn);