Hallo toekomstige mensen die mij misschien kunnen helpen,

Ik ben nog vrij nieuw met PHP en ben nu bezig met een site die de dichtstbijzijnde voetbalclub zoekt op basis van je locatie (is een opdracht voor school). Ik heb een database table aangemaakt met daarin de club en een longitude en een latitude van het adres van die club.

En eerlijk gezegd weet ik niet waar te beginnen, dus iedere hulp is welkom.
Je kunt de hemelsbrede afstand berekenen dmv de stelling van pythagoras.
In de wiskunde werkt dat zo:
SQRT((top(EigenLatitude, AndereLatitude) - floor(EigenLatitude, AndereLatitude))^2 + (top(EigenLongitude, AndereLongitude) - floor(EigenLongitude, AndereLongitude))^2)

Probeer zoiets:

<?php

$latitude  = intval($_POST['latitide']);
$longitide = intval($_POST['longitude']);

mysql_query("
   SELECT 
      SQRT
      (
         POW(
             MAX($latitude, `latitude`) - MIN($latitude, `latitude`)
         , 2)
         +
         POW (
            MAX($longitide, `longitude`) - MIN($longitide, `longitude`)
         , 2)
         
      ) AS `position`
   FROM `clubs`
   ORDER BY `position` ASC
   LIMIT 1
");
?>

Note: Zelf beveiligen/variabelen uit string halen.
EDIT: verkeerd gelezen
Hier ga ik het eens mee proberen. Ik had inderdaad al een formule geformuleerd voor de berekening, die erg op deze leek, maar ik wist niet hoe ik dit dan als php moest invoeren.

Bedankt alvast!
Geen dank,

laat alsjeblieft horen of ik goed heb nagedacht. Ik ben namelijk zelf ook nieuwsgierig :)

Succes!
Gaat nog even duren, want heb waar ik nu ben geen toegang tot de files ;)
Jammer maar zo gemakkelijk was het niet helemaal. Ik ben nu een andere manier aan het proberen. Ik heb nu in de database 5 clubs met daarbij de longitude en de latitude. Daarbij heb ik deze code:
<?php
<table>
<?php include ('connect.php');
$latitude = 51.0009783;
$longitude = 5.864245;

$data = mysql_query('SELECT * FROM clubs');
while ($dat = mysql_fetch_assoc($data)){
$long = $dat['long'];
$lat = $dat['lat'];
?>
<tr>
<td>
<?php echo $dat['long']; ?>

<?php $afstand1 = $longitude - $dat['long']; ?>
<strong><?php echo $afstand1 ?></strong>
</td>

<td>
<?php echo $dat['lat']; ?>

<?php $afstand2 = $latitude - $dat['lat']; ?>
<strong><?php echo $afstand2 ?></strong>
</td>
<td>
<?php
$positie = SQRT(POW($afstand1,2)+POW($afstand2,2))
?>
<?php echo $positie; ?>
</td>
</tr>
<?php
}
?>
</table>
?>
Dit levert me een tabel op met in de laatste kolom alle afstanden. Is er een manier om van deze afstanden de kleinste te selecteren?
Ja zoiets dacht ik ook maar hoe maak ik daar een query van?

Reageren