Rayon distance php depuis bdd
Fermé
vinkey33
Messages postés
92
Date d'inscription
mercredi 9 décembre 2015
Statut
Membre
Dernière intervention
23 janvier 2021
-
Modifié le 4 sept. 2020 à 13:25
yg_be Messages postés 23342 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 21 novembre 2024 - 24 sept. 2020 à 05:05
yg_be Messages postés 23342 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 21 novembre 2024 - 24 sept. 2020 à 05:05
A voir également:
- Rayon distance php depuis bdd
- Allumer pc à distance - Guide
- Easy php - Télécharger - Divers Web & Internet
- Mesurer distance parcourue à pied gratuit - Télécharger - Sport
- Déclencher appareil photo android à distance - Guide
- Teamviewer controle à distance - Guide
6 réponses
yg_be
Messages postés
23342
Date d'inscription
lundi 9 juin 2008
Statut
Contributeur
Dernière intervention
21 novembre 2024
Ambassadeur
1 550
4 sept. 2020 à 14:15
4 sept. 2020 à 14:15
bonjour, je pense que c'est possible.
vinkey33
Messages postés
92
Date d'inscription
mercredi 9 décembre 2015
Statut
Membre
Dernière intervention
23 janvier 2021
Modifié le 4 sept. 2020 à 15:22
Modifié le 4 sept. 2020 à 15:22
j'ai réalisé deux code qui combiné mais je bloc
je voudrais, lorsque je choisit une ville du département qui m'affiche la distance entre le point a qui sera fixe (la longitude et la latitude) et le point b qui seront les ville du département quand je sélectionne une ville rien s'affiche es ce que c'est la bonne écriture pou affiché depuis la base de donnée?
merci pour vous réponse
cordialement,
<!doctype html>
<html>
<head>
<meta charset="utf-8">
</head>
<body>
<?php
require('Connect.php');
$sql="SELECT * FROM `villes_france_free` WHERE `ville_departement` ='91' ";
if(!$pdo->query($sql)) echo "Pb d'accès au CARNET";
else {
?>
<form>
<select name="ville_id">
<?php
foreach ($pdo->query($sql) as $row)
if(!empty($row['ville_nom']))
echo "<option value='".$row['ville_longitude_deg']." ".$row['ville_latitude_deg']."'>"
.$row['ville_code_postal']." ".$row['ville_nom']."</option>\n";
?>
</select>
<?
function get_distance_m($lat1, $lng1, $lat2, $lng2) {
$earth_radius = 6378137; // Terre = sphère de 6378km de rayon
$rlo1 = deg2rad($lng1);
$rla1 = deg2rad($lat1);
$rlo2 = deg2rad($lng2);
$rla2 = deg2rad($lat2);
$dlo = ($rlo2 - $rlo1) / 2;
$dla = ($rla2 - $rla1) / 2;
$a = (sin($dla) * sin($dla)) + cos($rla1) * cos($rla2) * (sin($dlo) * sin($dlo));
$d = 2 * atan2(sqrt($a), sqrt(1 - $a));
return ($earth_radius * $d);
}
echo (round(get_distance_m(48.856667, 2.350987, echo "['ville_longitude_deg']", echo "['ville_latitude_deg']") / 1000, 3)). ' km';
?>
</form>
<?php
}
?>
</body>
</html>
je voudrais, lorsque je choisit une ville du département qui m'affiche la distance entre le point a qui sera fixe (la longitude et la latitude) et le point b qui seront les ville du département quand je sélectionne une ville rien s'affiche es ce que c'est la bonne écriture pou affiché depuis la base de donnée?
merci pour vous réponse
cordialement,
yg_be
Messages postés
23342
Date d'inscription
lundi 9 juin 2008
Statut
Contributeur
Dernière intervention
21 novembre 2024
1 550
4 sept. 2020 à 15:51
4 sept. 2020 à 15:51
peux-tu préciser "php" quand tu utilises les balises de code pour partager du php?
c'est bien de montrer ton code, mais ce serait mieux d'aussi expliquer comment il se comporte.
tiens compte de ceci: https://forums.commentcamarche.net/forum/affich-37584947-php-gestion-des-erreurs-debogage-et-ecriture-du-code
au lieu de
je ferais plutôt
c'est bien de montrer ton code, mais ce serait mieux d'aussi expliquer comment il se comporte.
tiens compte de ceci: https://forums.commentcamarche.net/forum/affich-37584947-php-gestion-des-erreurs-debogage-et-ecriture-du-code
au lieu de
get_distance_m(48.856667, 2.350987, echo "['ville_longitude_deg']", echo "['ville_latitude_deg']")
je ferais plutôt
get_distance_m(48.856667, 2.350987, $row['ville_longitude_deg'] , $row['ville_latitude_deg'] )
vinkey33
Messages postés
92
Date d'inscription
mercredi 9 décembre 2015
Statut
Membre
Dernière intervention
23 janvier 2021
4 sept. 2020 à 16:18
4 sept. 2020 à 16:18
même avec row sa ne marche pas
le mécanisme est quand je sélectionne une ville dans la liste déroulante depuis ma bdd pour qu'ensuite, grace au echos, depuis les coordonné de la liste déroulante je voudrais savoir combien de kilomètre sépare ces deux ville
le mécanisme est quand je sélectionne une ville dans la liste déroulante depuis ma bdd pour qu'ensuite, grace au echos, depuis les coordonné de la liste déroulante je voudrais savoir combien de kilomètre sépare ces deux ville
yg_be
Messages postés
23342
Date d'inscription
lundi 9 juin 2008
Statut
Contributeur
Dernière intervention
21 novembre 2024
1 550
4 sept. 2020 à 16:52
4 sept. 2020 à 16:52
"sa ne marche pas": que se passe-t'il?
as-tu tenu compte de ceci: https://forums.commentcamarche.net/forum/affich-37584947-php-gestion-des-erreurs-debogage-et-ecriture-du-code
as-tu tenu compte de ceci: https://forums.commentcamarche.net/forum/affich-37584947-php-gestion-des-erreurs-debogage-et-ecriture-du-code
yg_be
Messages postés
23342
Date d'inscription
lundi 9 juin 2008
Statut
Contributeur
Dernière intervention
21 novembre 2024
1 550
>
yg_be
Messages postés
23342
Date d'inscription
lundi 9 juin 2008
Statut
Contributeur
Dernière intervention
21 novembre 2024
4 sept. 2020 à 17:00
4 sept. 2020 à 17:00
si tu fais ceci, cela donne quoi?
<?php require('Connect.php'); function get_distance_m($lat1, $lng1, $lat2, $lng2) { $earth_radius = 6378137; // Terre = sphère de 6378km de rayon $rlo1 = deg2rad($lng1); $rla1 = deg2rad($lat1); $rlo2 = deg2rad($lng2); $rla2 = deg2rad($lat2); $dlo = ($rlo2 - $rlo1) / 2; $dla = ($rla2 - $rla1) / 2; $a = (sin($dla) * sin($dla)) + cos($rla1) * cos($rla2) * (sin($dlo) * sin($dlo)); $d = 2 * atan2(sqrt($a), sqrt(1 - $a)); return ($earth_radius * $d); } $sql="SELECT * FROM `villes_france_free` WHERE `ville_departement` ='91' "; if(!$pdo->query($sql)) echo "Pb d'accès au CARNET"; else { foreach ($pdo->query($sql) as $row) if(!empty($row['ville_nom'])){ echo $row['ville_longitude_deg']." ".$row['ville_latitude_deg']."' ".$row['ville_nom']; echo (round(get_distance_m(48.856667, 2.350987, $row['ville_longitude_deg'] , $row['ville_latitude_deg'] ) / 1000, 3)). ' km'; } } ?>
vinkey33
Messages postés
92
Date d'inscription
mercredi 9 décembre 2015
Statut
Membre
Dernière intervention
23 janvier 2021
Modifié le 4 sept. 2020 à 17:05
Modifié le 4 sept. 2020 à 17:05
quand je m'est les coordonné à la place de mets variable cela fonctionne mais quand je remets les variable plus rien, il y a une page avec ma liste déroulante mais pas le echos avec le km
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
vinkey33
Messages postés
92
Date d'inscription
mercredi 9 décembre 2015
Statut
Membre
Dernière intervention
23 janvier 2021
Modifié le 4 sept. 2020 à 17:23
Modifié le 4 sept. 2020 à 17:23
excuse moi sa me donne
2.15 48.65' JANVRY6807.3 km2.5 48.7' BRUNOY6777.633 km2.21667 48.55' BOISSY-SOUS-SAINT-YON6795.028 km2.25 48.7' VILLEBON-SUR-YVETTE6800.978 km2.05 48.35' MONNERVILLE6798.571 km2.37806 48.3731' GIRONVILLE-SUR-ESSONNE6769.261 km2.06667 48.4333' SAINT-HILAIRE6802.024 km2.45 48.6333' EVRY6778.261 km2.31667 48.5667' LEUDEVILLE6786.689 km2.31667 48.3833' VALPUISEAUX6775.618 km2.01667 48.5333' DOURDAN6812.728 km2.13333 48.3' ESTOUCHES6787.76 km2.41667 48.6833' DRAVEIL6784.401 km2.2 48.3667' MAROLLES-EN-BEAUCE6785.534 km2.43333 48.5667' MENNECY6775.788 km2.38333 48.65' GRIGNY6785.498 km2.36667 48.55' VERT-LE-PETIT6781.007 km2.47334 48.3831' ONCY-SUR-ECOLE6760.955 km2.1 48.3667' GUILLERVAL6794.894 km2.33333 48.7333' WISSOUS6795.21 km2.35889 48.4328' VAYRES-SUR-ESSONNE6774.656 km2.16667 48.35' ABBEVILLE-LA-RIVIERE6787.648 km2.25 48.5667' AVRAINVILLE6792.921 km2.41667 48.65' RIS-ORANGIS6782.385 km2.16667 48.7' BURES-SUR-YVETTE6808.764 km2.25 48.7167' PALAISEAU6801.988 km2.25 48.5833' ARPAJON6793.923 km2.35306 48.4675' GUIGNEVILLE-SUR-ESSONNE6777.296 km2.33333 48.6667' EPINAY-SUR-ORGE6791.179 km2.25833 48.3167' BLANDY6777.063 km2.53333 48.6833' BOUSSY-SAINT-ANTOINE6773.51 km2.45 48.5833' VILLABE6775.235 km2.26667 48.65' LA VILLE-DU-BOIS6796.397 km2.06667 48.5833' ANGERVILLIERS6811.065 km2.4 48.5667' ECHARCON6778.902 km2.43333 48.5667' ORMOY6775.788 km2.31667 48.4667' CERNY6780.65 km2.26667 48.75' VERRIERES-LE-BUISSON6802.446 km2.28333 48.4667' BOISSY-LE-CUTTE6783.767 km2.45 48.7167' CROSNE6783.312 km2.45695 48.4328' MOIGNY-SUR-ECOLE6765.488 km2.28333 48.6333' LONGPONT-SUR-ORGE6793.83 km2.41667 48.4833' MONDEVILLE6772.304 km2.3 48.6333' SAINT-MICHEL-... et sa continue, sa veut qui faut placé une liste déroulant au niveau du foreach?
2.15 48.65' JANVRY6807.3 km2.5 48.7' BRUNOY6777.633 km2.21667 48.55' BOISSY-SOUS-SAINT-YON6795.028 km2.25 48.7' VILLEBON-SUR-YVETTE6800.978 km2.05 48.35' MONNERVILLE6798.571 km2.37806 48.3731' GIRONVILLE-SUR-ESSONNE6769.261 km2.06667 48.4333' SAINT-HILAIRE6802.024 km2.45 48.6333' EVRY6778.261 km2.31667 48.5667' LEUDEVILLE6786.689 km2.31667 48.3833' VALPUISEAUX6775.618 km2.01667 48.5333' DOURDAN6812.728 km2.13333 48.3' ESTOUCHES6787.76 km2.41667 48.6833' DRAVEIL6784.401 km2.2 48.3667' MAROLLES-EN-BEAUCE6785.534 km2.43333 48.5667' MENNECY6775.788 km2.38333 48.65' GRIGNY6785.498 km2.36667 48.55' VERT-LE-PETIT6781.007 km2.47334 48.3831' ONCY-SUR-ECOLE6760.955 km2.1 48.3667' GUILLERVAL6794.894 km2.33333 48.7333' WISSOUS6795.21 km2.35889 48.4328' VAYRES-SUR-ESSONNE6774.656 km2.16667 48.35' ABBEVILLE-LA-RIVIERE6787.648 km2.25 48.5667' AVRAINVILLE6792.921 km2.41667 48.65' RIS-ORANGIS6782.385 km2.16667 48.7' BURES-SUR-YVETTE6808.764 km2.25 48.7167' PALAISEAU6801.988 km2.25 48.5833' ARPAJON6793.923 km2.35306 48.4675' GUIGNEVILLE-SUR-ESSONNE6777.296 km2.33333 48.6667' EPINAY-SUR-ORGE6791.179 km2.25833 48.3167' BLANDY6777.063 km2.53333 48.6833' BOUSSY-SAINT-ANTOINE6773.51 km2.45 48.5833' VILLABE6775.235 km2.26667 48.65' LA VILLE-DU-BOIS6796.397 km2.06667 48.5833' ANGERVILLIERS6811.065 km2.4 48.5667' ECHARCON6778.902 km2.43333 48.5667' ORMOY6775.788 km2.31667 48.4667' CERNY6780.65 km2.26667 48.75' VERRIERES-LE-BUISSON6802.446 km2.28333 48.4667' BOISSY-LE-CUTTE6783.767 km2.45 48.7167' CROSNE6783.312 km2.45695 48.4328' MOIGNY-SUR-ECOLE6765.488 km2.28333 48.6333' LONGPONT-SUR-ORGE6793.83 km2.41667 48.4833' MONDEVILLE6772.304 km2.3 48.6333' SAINT-MICHEL-... et sa continue, sa veut qui faut placé une liste déroulant au niveau du foreach?
yg_be
Messages postés
23342
Date d'inscription
lundi 9 juin 2008
Statut
Contributeur
Dernière intervention
21 novembre 2024
1 550
4 sept. 2020 à 17:59
4 sept. 2020 à 17:59
cela montre que le calcul de distance fonctionne bien, non?
n'était-ce pas le point de départ de cette discussion?
n'était-ce pas le point de départ de cette discussion?
vinkey33
Messages postés
92
Date d'inscription
mercredi 9 décembre 2015
Statut
Membre
Dernière intervention
23 janvier 2021
4 sept. 2020 à 18:04
4 sept. 2020 à 18:04
oui et non, oui cela fonctionne et nom car j'essaye de mettre la ville plus le cp dans la liste déroulante et avoir la distance en dessous
yg_be
Messages postés
23342
Date d'inscription
lundi 9 juin 2008
Statut
Contributeur
Dernière intervention
21 novembre 2024
1 550
4 sept. 2020 à 18:17
4 sept. 2020 à 18:17
je ne vois pas quelle technique tu essaies d'utiliser pour afficher une information en fonction du choix de la liste déroulante.
fais-tu cela sur base d'un exemple ou d'un cours?
peut-être veux-tu utiliser du javascript pour calculer la distance, et que tu fais, pas erreur, en php?
fais-tu cela sur base d'un exemple ou d'un cours?
peut-être veux-tu utiliser du javascript pour calculer la distance, et que tu fais, pas erreur, en php?
yg_be
Messages postés
23342
Date d'inscription
lundi 9 juin 2008
Statut
Contributeur
Dernière intervention
21 novembre 2024
1 550
>
yg_be
Messages postés
23342
Date d'inscription
lundi 9 juin 2008
Statut
Contributeur
Dernière intervention
21 novembre 2024
24 sept. 2020 à 05:05
24 sept. 2020 à 05:05
peux-tu donner suite, ou marquer la discussion comme résolue?