die Entfernung der Ort berechnen mit PHP

Xching

Erfahrenes Mitglied
Hallo Zusammen,

Ich weiß es nicht, wo ich den Fehler gemacht habe ,habe ich die Entfernung falsch berechnet, könntet ihr mal bitte reinschauen.

PHP:
if(isset($_GET['Suchen']))
{
    $zipcode = $_GET['plz'];
    $distance = $_GET['Entfernung'];

    $conn = mysql_connect('XXXXXX', 'XXXXX', 'XXXXXX') or die('db connect error: ' . mysql_error());
    mysql_select_db('XXXXXX', $conn) or die('could not select database');

    $sqlstring = "SELECT * FROM Koor WHERE plz = '".$zipcode."'";
    $result = mysql_query($sqlstring);

    $row = mysql_fetch_assoc($result);

    $lng = $row["lon"] / 180 * M_PI;
    $lat = $row["lat"] / 180 * M_PI;

    mysql_free_result($result);

    $sqlstring2 = "SELECT DISTINCT Koor.plz,Koor.Ortname,(6367.41*SQRT(2*(1-cos(RADIANS(Koor.lat))*cos(".$lat.")*(sin(RADIANS(Koor.lon))*sin(".$lng.")+cos(RADIANS(Koor.lon))*cos(".$lng."))-sin(RADIANS(Koor.lat))* sin(".$lat.")))) AS Entfernung FROM Koor AS Koor WHERE (6367.41*SQRT(2*(1-cos(RADIANS(Koor.lat))*cos(".$lat.")*(sin(RADIANS(Koor.lon))*sin(".$lng.")+cos(RADIANS(Koor.lon))*cos(".$lng."))-sin(RADIANS(Koor.lat))*sin(".$lat."))) <= '".$distance."') ORDER BY Entfernung";

    $result = mysql_query($sqlstring2) or die('query failed: ' . mysql_error());

    $str = "<table width=\"300\" border=\"0\" cellspacing=\"0\" cellpadding=\"0\">";
    $str .= "<tr>";
    $str .= "<th>Plz</th>";
    $str .= "<th>Ortname</th>";
    $str .= "<th>Entfernung</th>";
    $str .= "</tr>";

    while ($row = mysql_fetch_array($result, MYSQL_ASSOC))
    {
        $str .= "<tr><td>".$row["plz"]."</td><td>".$row["Ortname"]."</td><td>".round($row['Entfernung'])."km</td></tr>";
    }

    $str .= "</table>";

    mysql_free_result($result);
    mysql_close($conn);
    echo $str;
}
 
Könntest du uns vielleicht mal nur die Entfernungsberechnung anzeigen? Wovon möchtest du die Entfernung berechnen, unter welchen Umständen?
 
Zurück