Problème d'optimisation ! Analyse de fichier Json trop long
Bonjour à tous,
je vous explique un peu la situation : J'ai du développé un petit bout de code qui me permette d'afficher une liste de club proche d'un point de départ entré par l'utilisateur. L'utilisateur rentre son code postale et la distance maximale, ensuite le petit bout de code analyse tous les clubs (360 clubs) afin de vérifier s'ils sont ou non dans les critères de sélection.
Le soucis c'est que le temps de chargement est beaucoup trop long !
Je vous joins le code source :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38
|
// requête qui récupère ce dont j'ai besoin dans ma DB
$recup_liste_club_r = $bdd->prepare('SELECT t_provinces.INDEX_PROVINCES, t_provinces.PROVINCE, t_clubs1.INDICE AS indice, t_clubs1.CLUB AS club, t_clubs1.ADRESSE AS adresse, t_clubs1.NUMERO AS numero, t_clubs1.CP AS cp, t_clubs1.LOCALITE AS localite
FROM t_clubs1
INNER JOIN t_provinces ON t_clubs1.INDEX_PROVINCES = t_provinces.INDEX_PROVINCES
WHERE t_clubs1.ACTIF=? AND t_provinces.INDEX_PROVINCES=?
ORDER BY t_clubs1.INDICE'
);
$recup_liste_club_r->execute(array("O", 4));
while($recup_liste_club = $recup_liste_club_r->fetch())
{
// récupération du code postal entré par l'utilisateur dans le formulaire, puis de la distance max
$origins = $_GET['origins'];
$distance_max = $_GET['distance_max'];
$cp = $recup_liste_club['cp'];
$pays = "Belgique";
// création de l'url qui va permettre de générer le fichier json grâce à l'API Google
$url = "https://maps.googleapis.com/maps/api/distancematrix/json?origins=".$origins."+Belgique&destinations=".$cp."+BELGIQUE&language=fr-FR&key=AIzaSyDldx0XCl5J6v54Dy5Wqii_876RixTuyls";
// récup des données
$json = file_get_contents($url);
// on le met dans un tableau
$data = json_decode($json, true);
// on prend la donnée qui donne le nombre de mètre
$distance = $data['rows'][0]['elements'][0]['distance']['value'];
// on la transforme en km et on arrondi
$distance = round($distance/1000);
if($distance <= $distance_max)// verif des cubs en condition
{
$tableau_club[] =
echo "<li><a href='/aftt/trouver-un-club/?p=".$recup_liste_club['province']."&club=".$recup_liste_club['indice']."&nom_club=".$nom_club."'>" . $recup_liste_club['club']. " ".$distance."kms</a></li><hr/>";
}
}
$recup_liste_club_r->closeCursor(); |
Merci de votre aide