Hallo,
Ik heb een database met alle plaatsnamen inclusief coordinaten van Nederland.
Elke plaats heeft zijn eigen webpagina. Op deze webpagina wil ik de 10 dichtstbij gelegen steden inclusief afstand opsommen.
Bijvoorbeeld: We bekijken de pagina van Den Haag. Dan moeten de 10 dichstbij gelegen steden/dorpen waarschijnlijk Rijswijk, Voorburg, Delft, etc zijn.
Ik heb onderstaand zelf kunnen uitzoeken. Zou iemand mij kunnen helpen om de juiste query te maken inclusief ORDER BY ASC en LIMIT 10. ($query = "SELECT * FROM db LIMIT 10";)
Ik hoor graag of jullie meer uitleg nodig hebben.
Groeten Tony
<?php
//connect
$query = "SELECT * FROM db WHERE name = '" . mysql_real_escape_string( name ) . "'";
$query = mysql_query($query);
$numrows = mysql_num_rows($query);
if ($numrows > 0){
while ($row = mysql_fetch_assoc($query)){
//dit zijn de begin coordinaten
$original_lat = $row['lat'];
$original_long = $row['long'];
}}
?>
<?php
function getDistanceBetweenPointsNew($latitude1, $longitude1, $latitude2, $longitude2) {
$theta = $longitude1 - $longitude2;
$miles = (sin(deg2rad($latitude1)) * sin(deg2rad($latitude2))) + (cos(deg2rad($latitude1)) * cos(deg2rad($latitude2)) * cos(deg2rad($theta)));
$miles = acos($miles);
$miles = rad2deg($miles);
$miles = $miles * 60 * 1.1515;
$feet = $miles * 5280;
$yards = $feet / 3;
$kilometers = $miles * 1.609344;
$meters = $kilometers * 1000;
return compact('kilometers');
}
//connect
//hier krijgen we 10 results zonder de juiste ORDER BY...
$query = "SELECT * FROM db LIMIT 10";
$query = mysql_query($query);
$numrows = mysql_num_rows($query);
if ($numrows > 0){
while ($row = mysql_fetch_assoc($query)){
$destination_lat = $row['lat'];
$destination_long = $row['long'];
$plaatsnaam = $row['plaatsnaam'];
$point1 = array('lat' => $original_lat, 'long' => $original_long);
$point2 = array('lat' => $destination_lat, 'long' => $destination_long);
$distance = getDistanceBetweenPointsNew($point1['lat'], $point1['long'], $point2['lat'], $point2['long']);
foreach ($distance as $unit => $value) {
echo $plaatsnaam. ': '.number_format($value,1).'<br />';
}
}}
?>
[size=xsmall]Toevoeging op 20/11/2012 20:31:33:[/size]
Kan niemand mij helpen of heb ik mijn vraag niet goed uitgelegd?
6.037 views