timmah1 Posted October 22, 2008 Share Posted October 22, 2008 This radius search I found uses a csv file to get results. I'm trying to convert it to search the database instead. I'm getting no errors, but I'm not getting any results either. Can anybody see how this could be done? <?php $miles = $_POST['miles']; $max_distance = $miles; $no_dealers_within_max_msg = "No locations were located within $miles miles of the zip code you entered."; require("lib_dealer_search/lib_dealer_search.php"); $cust_zipcode = $_POST["zip"]; $dealerdata = array(); $row = -1; $query = "SELECT * FROM users WHERE zip = '$cust_zipcode'" ; //$handle = fopen("sampledata.csv", "r"); $result = mysql_query($query) or die(mysql_error()); $count = mysql_num_rows($result); //fgetcsv($handle, 1000, ","); //uncoment to skip row header while($row = mysql_fetch_assoc($result) !== FALSE) { //while (($data = fgetcsv($handle, 1000, ",")) !== FALSE) // { if($count > 1) { $d = ds_distance($cust_zipcode, $row[0]); if (($d >= 0) and ($d <= 300)) { $row++; $dealerdata[$row][distance] = $d; $dealerdata[$row][name] = $row[1]; $dealerdata[$row][dob] = $row[2]; } } } //fclose($handle); if ($dealerdata > 0) { //sort by distance sort($dealerdata); $dealers_within_max_dist = false; for($row = 0;$row < count($dealerdata); $counter++) { echo "Distance: " . round($dealerdata[$row][distance], 1) . " miles<br>"; echo $dealerdata[$row][name] . "<br>"; echo $dealerdata[$row][dob] . "<br><br>"; } } else { echo $no_dealers_within_max_msg; } ?> Thanks in advance Link to comment https://forums.phpfreaks.com/topic/129670-radius-search/ Share on other sites More sharing options...
timmah1 Posted October 23, 2008 Author Share Posted October 23, 2008 ok, I'm finally getting something, but it's still not right Here is my code <?php require("config.php"); $miles = $_POST['miles']; $zipcode = $_POST["zipcode"]; $max_distance = $miles; $no_dealers_within_max_msg = "No locations were located within $miles miles of the zip code $zipcode."; require("lib_dealer_search/lib_dealer_search.php"); $cust_zipcode = $_POST["zipcode"]; $dealerdata = array(); $row = 1; $query = "SELECT * FROM users" ; $result = mysql_query($query) or die(mysql_error()); while($data = mysql_fetch_assoc($result)) { if(count($data) > 1) { $d = ds_distance($cust_zipcode, $data[0]); if (($d >= 0) and ($d <= $miles)) { $row++; $dealerdata[$row][distance] = $d; $dealerdata[$row][first] = $data[1]; $dealerdata[$row][dob] = $data[2]; } } } if (count($dealerdata) > 0) { //sort by distance sort($dealerdata); $dealers_within_max_dist = false; for($counter = 0;$counter < count($dealerdata); $counter++) { echo "Distance: " . round($dealerdata[$row][distance], 1) . " miles<br>"; echo $dealerdata[$row][first] . "<br>"; echo $dealerdata[$row][dob] . "<br><br>"; } } else { echo $no_dealers_within_max_msg; } ?> Here is the lib_dealer_search.php function ds_distance($zip1, $zip2) { global $config_default_units; $latlong1 = ds_lookuplatlong($zip1); $latlong2 = ds_lookuplatlong($zip2); if (($latlong1 == false) or ($latlong2 == false)) { $dist = -1; } else { $dist = ds_calcdistance($latlong1[lat], $latlong1[long], $latlong2[lat], $latlong2[long], $config_default_units); } return $dist; } No matter what you put into the search field, it always comes back No locations were located...... Can anybody help me out? Link to comment https://forums.phpfreaks.com/topic/129670-radius-search/#findComment-672403 Share on other sites More sharing options...
Recommended Posts
Archived
This topic is now archived and is closed to further replies.