Bonjour,
Lol....
LIS attentivement la DOC, et les exemples !
Bonjour,
Lol....
LIS attentivement la DOC, et les exemples !
Mais justement je l'ai déjà FAIT;.C'est pour ça que je pose cette question. J'ai pris la fonction directemnt sur le manuel PHP (sur ton lien) mais j'ai cette erreur et je ne comprend pas ce qui ce passe.
Ce que tu dois faire, c'est utiliser la fonction et affecter le résultat à une variable, pas copier la définition
Code : Sélectionner tout - Visualiser dans une fenêtre à part $Tlatitude = floatval($mesDonnees['Tlatitude']);
Rhôôôhh, Celira !!!
C'est pas drôle !
Tu aurais pu le laisser trouver tout seul !
N.B. pour info, j'avais déjà fait ce genre d'"erreur" à mes débuts...
...pas de quoi être fier...
Pour info j'avais fait ça en prenant l'exemple :
je m'étais dis que si je stocké les String dans 2 variables PHP différentes puis que je les transformaient en FLOAT ça marcherai (ALERTE SPOILER : j'obtenais 0)
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9 $Slatitude = $mesDonnees['Tlatitude']; $Slongitude = $mesDonnees['Tlongitude']; $Tlongitude = floatval($Slongitude); echo $Tlongitude; $Tlatitude = floatval($Slatitude); echo $Tlatitude;
Je n'avait pas pensé à faire ta syntaxe. Je m'étais après coup dis que la définition c'étais la syntaxe de base et que l'exemple étais pour un cas précis
Tardoss rien dans le cerveau, tous dans le Fail
Et Celira t'as fonction ne marche pas j'ai tenté 2 choses (je vais mettre que le début)
1
2
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7 $Tlatitude = $mesDonnees['Tlatitude']; $Tlongitude = $mesDonnees['Tlongitude']; $Tlatitude = floatval($mesDonnees['Tlatitude']); $Tlongitude = floatval($mesDonnees['Tlongitude']); echo $Tlatitude;Pour être précis mes float sont égal à 0 et à 0 joie je vais essayer de comprendre où ça coince
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 $Tlatitude = floatval($mesDonnees['Tlatitude']); $Tlongitude = floatval($mesDonnees['Tlongitude']); echo $Tlatitude;
[EDIT] Je suis MAUDIT mon $_POST est passé de "j'ai tes coordonnées tous va bien" à "J'ai pas tes coordonnées", tué moi si vous plaît
Du coup je met l'AJAX qui étais bon j'ai rien changé
Non parce que j'ai compris l'AJAX c'est bon les exos ils sont fait et BIEN fait.
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
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44 <!DOCTYPE html> <html> <head> <!-- Prend l'API Google Map et Jquery--> <script async defer src="https://maps.googleapis.com/maps/api/js?key=clé_d'api&callback=initMap"> </script> <script src="https://code.jquery.com/jquery-3.3.1.min.js"> </script> </head> <body> <script type="text/javascript"> //Geolocalisation if (navigator.geolocation) { navigator.geolocation.getCurrentPosition (function(position) { Tlatitude = position.coords.latitude; Tlongitude = position.coords.longitude; console.log(Tlatitude); console.log(Tlongitude); getGeo(Tlatitude,Tlongitude); }); } //AJAX function getGeo(Tlatitude,Tlongitude){ $.ajax({ url :'vueCarrePub.php', type:'post', data:{'Tlatitude':Tlatitude,'Tlongitude':Tlongitude}, dataType:'json', success:function(data, statut){ console.log(data); },error:function(xhr, ajaxOptions, thrownError, statut){ alert('Error : ' + xhr.responseText +' '+ajaxOptions+' '+xhr.status+' '+thrownError); } }); } </script> </body> </html>
Bon.
En fait, tu n'as pas "tout"compris à Ajax...
type:'post'
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5 $.ajax({ url :'vueCarrePub.php', type:'post', data:{'Tlatitude':Tlatitude,'Tlongitude':Tlongitude}, dataType:'json',
Dans vueCarrePub.php : Les données se récupèrent via $_POST.
N.B. dataType:'json : c'est pour le retour vers JS.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5 <?php require "connexionBdd.php"; $Tlatitude = floatval ( $_POST['Tlatitude'] ); $Tlongitude = floatval ( $_POST['Tlongitude'] );
On peut aussi fait un retour en HTML : dataType:'html
Ou comment me brisé mentalement:'(En fait, tu n'as pas "tout"compris à Ajax...
Sinon toujours rien dans mes $Tlatitude et $Tlongitude (avec ce que tu m'as donné) . Je crois que mon cerveau n'aime pas la programmation.
J'ai aucune idée de quoi faire du coup X(.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8 require "connexionBdd.php"; $Tlatitude = floatval($_POST['Tlatitude']); $Tlongitude = floatval($_POST['Tlongitude']); echo $Tlatitude; var_dump ($longitude);
P.S : j'ai essayé de voir avec un echo et un var_dump au cas où mais le résultat est respectivement : 0 et NULL + Warning: Invalid argument supplied for foreach() (logique)
Dans ton script JS, Tlatitude et Tlongitude donnaient les bons résultats ?
Teste si tes valeurs sont bien transmises...
Dans vueCarrePub.php, mes des données "en dur", et teste le fichier directement (Sans passer par Ajax)
Mets des echo, var_dump...
(j'aurais voulu tester moi-même, mais je n'ai pas de clé_d'api pour maps.googleapis...)
QUESTION bête : dans <script async defer src="https://maps.googleapis.com/maps/api/js?key=clé_d'api&callback=initMap"></script>,
tu as bien remplacé "clé_d'api" par TA PROPRE API key ?
Dernière modification par Invité ; 03/07/2018 à 15h44.
Dans le JS je récupère bien mes coordonnées et je n'ai aucune erreur dans console.log.
Les valeurs ne sont pas transmises.
Avec des données brut j'ai toujours la même erreur (bizzare).
Au question bête je répond toujours par un meme et le voici : OF COURSE. je met volontairement clé_API dans le forum pour eviter qu'un petit malin prennent ma clé d'API et utilise tous le quota à ma place.
[EDIT]
J'ai trouvé comment résoudre beaucoup de problème :
1 - je debuger pas au bonne endroit
2 - dans mon foreach c'étais un variable jamais utilisé
3 - Maintenant le problème est situé dans mon foreach et mes if,et c'est le data de mon AJAX qui est vide( ET OUI JE N OBTIENT RIEN )
PHP :Javascript
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
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62 <? require "/home/captusrn/www/stage/connexionBdd.php"; $Tlatitude = floatval($_POST['Tlatitude']); $Tlongitude = floatval($_POST['Tlongitude']); echo $_POST; echo $Tlatitude; $stmtImage = $connexionBdd->prepare("SELECT latitudePropiétaires, longitudePropiétaires, cheminImage from Propiétaires join Images on Images_idImages.idImages WHERE latitudePropiétaires BETWEEN :minLat AND :maxLat AND longitudePropiétaires BETWEEN :minLong AND :maxLong"); $stmtImage->execute( array( ':minLat' => $Tlatitude - 0.02, ':maxLat' => $Tlatitude + 0.02, ':minLong' => $Tlongitude - 0.02, ':maxLong' => $Tlongitude + 0.02 ) ); echo $Tlatitude; $array_Propiétaires = $stmtImage->fetchall(); echo $array_Propiétaires; if($array_Propiétaires) foreach( $array_Propiétaires as $i => $ImageRow ) { $latitude = $ImageRow['latitudeImage']; $longitude = $ImageRow['longitudeImage']; $cheminImage = $ImageRow['cheminImage']; $validCoord = false; if (($Tlatitude - 0.01) >= $latitude && ($Tlatitude - 0.02) < $latitude) { echo "OK 1"; $validCoord = true; } elseif (($Tlongitude + 0.01) <= $longitude && ($Tlongitude + 0.02) > $longitude) { echo "OK 2"; $validCoord = true; } elseif (($Tlatitude + 0.01) <= $latitude && ($Tlatitude + 0.02) > $latitude) { if (($Tlongitude - 0.01) >= $longitude && ($Tlongitude - 0.02) < $longitude) { echo "OK 3"; $validCoord = true; } elseif (($Tlongitude + 0.01) <= $longitude && ($Tlongitude + 0.02) > $longitude) { echo "OK 4"; $validCoord = true; } else { echo "KO 5"; } } else { echo "KO 6"; } if ($validCoord) { $chemin = $cheminImage; break; // on sort de la boucle dès qu'on a trouvé quelque chose } } var_dump($chemin); ?>
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
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45 <!DOCTYPE html> <html> <head> <!-- Prend l'API Google Map et Jquery--> <script async defer src="https://maps.googleapis.com/maps/api/js?key=clé_API&callback=initMap"> </script> <script src="https://code.jquery.com/jquery-3.3.1.min.js"> </script> </head> <body> <script type="text/javascript"> //Geolocalisation if (navigator.geolocation) { navigator.geolocation.getCurrentPosition (function(position) { Tlatitude = position.coords.latitude; Tlongitude = position.coords.longitude; console.log(Tlatitude); console.log(Tlongitude); getGeo(Tlatitude,Tlongitude); }); } //AJAX function getGeo(Tlatitude,Tlongitude){ console.log(Tlatitude); console.log(Tlongitude); $.ajax({ url :'vueCarrePub.php', type:'post', data: 'Tlatitude='+Tlatitude+'&Tlongitude='+Tlongitude, dataType:'html', success:function(data){ console.log(data); },error:function(xhr, ajaxOptions, thrownError, statut){ alert('Error : ' + xhr.responseText +' '+ajaxOptions+' '+xhr.status+' '+thrownError); } }); } </script> </body> </html>
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager