I was following this tutorial : https://developers.google.com/maps/articles/phpsqlsearch_v3 and wanted to increment another query:
I'd like to get the 20 nearest points of some type ( example - the top 20 nearest points that are type 2).
So, at this point I Have both this 2 working codes:
This first one gives me the results of the nearest places that are type 2 but doesnt order by distance.
$con = $con = mysql_connect("localhost","username","password");
if (!$con)
{
die('Could not connect: ' . mysql_error());
}
mysql_select_db("database", $con);
$result = mysql_query("
SELECT *
FROM table
WHERE (
type= 'type 2'
) AND (
(promotype*( 6371 * acos( cos( radians(37) ) * cos( radians( lat ) ) * cos( radians( lng ) - radians(-122) ) + sin( radians(37) ) * sin( radians( lat ) ) ) ))<30)
LIMIT 0,20
")or die;
while($row = mysql_fetch_assoc($result))
{
$output[]=$row;
}
print(json_encode($output));
mysql_close($con);
and this second code gives me the ordered by distance result but I cant add the type( very similar, just changes this part ):
SELECT *,
( 3959 * acos( cos( radians(37) ) * cos( radians( lat ) ) * cos( radians( lng ) - radians(-122) ) + sin( radians(37) ) *
sin( radians( lat ) ) ) )
AS distance FROM marker HAVING distance < 30 ORDER BY distance ASC LIMIT 0, 5")
So,
The big question is: How can I ORDER BY distance the first code or add the type filter on the second?
Thanks in advance