I must first let you know that while I am an experienced rails developer, I am quite rusty at PHP and raw SQL. I am attempting to build a store finder app using this tutorial and this tutorial. I am meeting
This is the code I am using for my query (with my own database column names)
$user_lat = $_GET["lat"];
$user_lng = $_GET["lng"];
$radius = $_GET["radius"];
$query = "SELECT 'Address','LocName','Latitude','Longitude', ( 3959 * acos( cos( radians($user_lat) ) * cos( radians( Latitude ) ) * cos( radians( Longitude ) - radians($user_lng) ) + sin( radians($user_lat) ) * sin( radians( Latitude ) ) ) ) AS distance FROM Locations ORDER BY distance";
And I am returning the results with this (just as a test):
$result = mysql_query($query);
if (!$result) {
die("Invalid query: " . mysql_error());
}
$num=mysql_numrows($result);
mysql_close();
?>
<table border="0" cellspacing="2" cellpadding="2">
<tr>
<th><font face="Arial, Helvetica, sans-serif">Name</font></th>
<th><font face="Arial, Helvetica, sans-serif">Distance</font></th>
<th><font face="Arial, Helvetica, sans-serif">Address</font></th>
</tr>
<?php
while ($row = mysql_fetch_assoc($result)) {
$f1=mysql_result($result,$i,"LocName");
$f2=mysql_result($result,$i,"distance");
$f3=mysql_result($result,$i,"Address");
?>
<tr>
<td><font face="Arial, Helvetica, sans-serif"><?php echo $f1; ?></font></td>
<td><font face="Arial, Helvetica, sans-serif"><?php echo $f2 ?></font></td>
<td><font face="Arial, Helvetica, sans-serif"><?php echo $f3; ?></font></td>
</tr>
<?php
$i++;
}
?>
However I am getting the following results when i got go: findstore.php?lat=33.98&lng=-118.42
Name Distance Address
LocName 0.65415504532801 Address
LocName 0.65415504532801 Address
LocName 0.666819627384179 Address
LocName 0.923277344110443 Address
LocName 2.32751232712236 Address
LocName 2.33924574433009 Address
etc.
obviously the Distance is calculating properly but I am having trouble getting the Address and Location Name for each.
What am I doing wrong?
Thanks!
Try replacing the single quotes in your query with backticks.
i.e.: