calcule distance des membres entre eux

solair8
Invité n'ayant pas de compte PHPfrance

02 déc. 2019, 22:19

hello j'ai une table avec les villes de france et des doms avec leur coordonnées GPS et un e table membre et je voudrais calculer
la distance avec entre les membres sans passer par google geo une idée?

Mammouth du PHP | 1249 Messages

02 déc. 2019, 22:22


Petit nouveau ! | 2 Messages

03 déc. 2019, 11:31

mammouth merci je veux preciser que j'ai deja fait le calcule ;mon réel problême est plus du sql ,dans la table membre comment mettre le couple de coordonnées
gps et vu avec la ville sélectionner a l'inscription du membre, vu qu'ont ne la connait pas d'avance ou peut etre recuperer les coordonnes en javascript ? desoler je suis débutant ...

Petit nouveau ! | 2 Messages

03 déc. 2019, 12:54

voila mon code:
table membre
table ville_france_free

Code : Tout sélectionner

<?php require_once __DIR__ . '/config/bootstrap.php'; $req1 =$pdo->query("SELECT COUNT(ville_nom_simple)AS total_ville FROM villes_france_free WHERE ville_code_postal LIKE '66%'"); $req1->execute(); $tataux = $req1->fetch(PDO::FETCH_OBJ); echo 'il y a '.$tataux->total_ville .'villes'; $req = $pdo->query("SELECT * FROM villes_france_free WHERE ville_code_postal LIKE '78%' ORDER BY ville_nom_simple "); $req -> execute(); $data = $req->fetch(PDO::FETCH_OBJ); while($data = $req->fetch(PDO::FETCH_OBJ)) { echo '<div style =" color:red; font-size:2em;">'; echo $data->ville_nom_simple .'<br>'; echo '</div>'; echo '<div style =" color :lime";>'; echo 'longitude:'.$data->ville_longitude_deg .'<br>'; echo '</div>'; echo '<div style =" color :blue";>'; echo 'latitude:'.$data->ville_latitude_deg .'<br>'; echo '</div>'; echo $data->ville_code_postal; echo '<hr>'; } function getDistance($latitude1,$longitude1,$latitude2,$longitude2){ //convert from degrees to radians $earthRadius = 6371;//en km $latFrom = deg2rad($latitude1); $lonFrom = deg2rad($longitude1); $latTo = deg2rad($latitude2); $lonTo = deg2rad($longitude2); $latDelta = $latTo - $latFrom; $lonDelta = $lonTo - $lonFrom; $angle = 2 * asin(sqrt(pow(sin($latDelta / 2),2) + cos($latFrom)* cos($latTo)* pow(sin($lonDelta / 2),2))); return $angle * $earthRadius; } //exemple etampes et morigny $latitude1 = '42.7667'; $longitude1 = '2.98333'; $latitude2 = '42.6833'; $longitude2 = ' 2.88333';//etampes $distance = getDistance($latitude1,$longitude1,$latitude2,$longitude2); echo round($distance) .' '.'km';

Mammouth du PHP | 1587 Messages

03 déc. 2019, 17:12

Regarde du coté des jointures pour obtenir les infos d'une table en fonction d'une autre.

petit exemple sans connaitre ton schéma de table :
SELECT * FROM users JOIN villes ON users.ville = villes.ville WHERE user.id = 38
Spols
pour les fan de rubik's cube ou pour les curieux ==> le portail francophone de rubik's cube
Ingénieur Industriel Chimie / Biochimie