Bonjour,
Je suis en train de concevoir une plateforme en PHP et MySQL, et j'ai actuellement un problème pour ma page de recherche.
Je m'explique, le "client" rentre une adresse A (on va l'appelé FROM) dans la barre de recherche, il est ensuite redirigé sur une page de résultat.
J'ai bien mes résultats qui s'affiche, mais je souhaite trier par distance (la distance calculé par l'API de Google Maps Matrix).
J'ai bien la distance qui s'affiche, mais ils sont pas vraiment trié.
Je ne sais pas si c'était clair, voici le code :
Donc, comme dit, $DISTANCE_FROM et récupérer depuis un cookie (pour l'exemple), j'arrive à faire la distance du point A au point B (qui est récupéré pour la variable $DISTANCE_TO qui vient récupérer l'adresse du user 2), qui s'affiche correctement sur les résultats, mais impossible de trouver le moyen de faire afficher la boucle des résultats par un sort ou autre dans cette même boucle.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
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 $DISTANCE_FROM = urlencode($_COOKIE['LOCATION']); $REQ_RESULTS = mysqli_query($_DB_CON, 'SELECT * FROM MEALS'); while($DATA_RESULTS = mysqli_fetch_assoc($REQ_RESULTS)) { $DATA_COOK = mysqli_fetch_assoc(mysqli_query($_DB_CON, 'SELECT * FROM USERS WHERE ID_UNIQUE = "'.$DATA_RESULTS['FROM_USER'].'"')); $DISTANCE_TO = urlencode(''.$DATA_COOK['FULL_ADRESS'].''); $DISTANCE_DATA = json_decode(file_get_contents('http://maps.googleapis.com/maps/api/distancematrix/json?origins='.$DISTANCE_FROM.'&destinations='.$DISTANCE_TO.'&sensor=false')); $DISTANCE_TIME = 0; $DISTANCE_DISTANCE = 0; foreach($DISTANCE_DATA->rows[0]->elements as $DISTANCE_ROAD) { $DISTANCE_TIME = $DISTANCE_ROAD->duration->text; $DISTANCE_DISTANCE = $DISTANCE_ROAD->distance->text; } echo $DISTANCE_FROM; echo '<br>'; echo $DISTANCE_TO; echo '<br>'; echo $DISTANCE_DISTANCE; echo '<br>'; echo '<br>'; }
En bonus, quand la distance est inférieur à 1 km, il m'affiche des mètres, il faudrait donc les trier de la plus petite à la grande distance (je sais, je me repéte).
Voilà pour mon problème du soir,
Bonne fêtes !







Répondre avec citation





Partager