[RESOLU] php javascript

Eléphanteau du PHP | 30 Messages

08 mars 2017, 11:24

Bonjour, je connais déjà mon erreur ou du moins pourquoi ça fait pas ce que je veux mais j'arrive pas à la modifié en mieux ^^ je voudrais afficher toutes les coordonnées issu de ma bdd dans ma variable triangleCordss mais pour l'instant je n'arrive à afficher que les deux premiers, comment pourrais mettre une boucle qui puisse m'inclure toutes les coordonnées de ma bdd , merci ;)

Code : Tout sélectionner

var bermudaTriangle; var triangleCoords = [ new google.maps.LatLng(48.17621620385386, -0.25347656250005457), new google.maps.LatLng(46.39766952618069, 3.227703125000062), new google.maps.LatLng(51.09418859008947, 6.170734374999938) ]; bermudaTriangle = new google.maps.Polygon({ paths: triangleCoords, strokeColor: "#FF0000", strokeOpacity: 0.8, strokeWeight: 3, fillColor: "#FF0000", fillOpacity: 0.35, editable: true, draggable: true }); google.maps.event.addListener(bermudaTriangle, 'mouseover', function() { bermudaTriangle.setOptions({ editable: true }); }); google.maps.event.addListener(bermudaTriangle.getPath(), 'set_at', function() { }); bermudaTriangle.setMap(map); // Add a listener for the click event google.maps.event.addListener(bermudaTriangle, 'click', showArrays); infowindow = new google.maps.InfoWindow(); <?php try // On va ensuite envoyé ses données dans la Base de données { $bdd = new PDO('mysql:host=localhost;dbname=riadh;charset=utf8', 'root', ''); } catch(Exception $e) { die('Erreur : '.$e->getMessage()); } $_id_cap = $_GET['_id_cap']; $poly_coord = $bdd->query('(SELECT `Latitude`, `Longitude`, `_id_cap` FROM ifttt_polygone WHERE `_id_cap`=\''.$_id_cap.'\')'); $new = $poly_coord->fetchAll(PDO::FETCH_ASSOC); $poly_coord->closeCursor(); foreach ($new as $element){ $listedespoints[] = [ 0 => $element['Latitude'], 1 => $element['Longitude']]; } ?> var Secondlatlng = <?php echo json_encode($listedespoints,JSON_NUMERIC_CHECK)?>; if ((48.17621620385386!=Secondlatlng[0][0] || 46.39766952618069!=Secondlatlng[1][0] || 51.09418859008947!=Secondlatlng[2][0]) && (-0.25347656250005457!=Secondlatlng[0][0] || 3.227703125000062!=Secondlatlng[0][1] || 6.170734374999938!=Secondlatlng[0][2] )){ bermudaTriangle.setMap(null); console.log(Secondlatlng); for (var i=0 ; i<Secondlatlng.length-1 ; i++){ var triangleCoordss=[ new google.maps.LatLng(Secondlatlng[i][0], Secondlatlng[i][1]), new google.maps.LatLng(Secondlatlng[i+1][0], Secondlatlng[i+1][1]) ]; } polygone = new google.maps.Polygon({ paths: triangleCoordss, strokeColor: "#FF0000", strokeOpacity: 0.8, strokeWeight: 3, fillColor: "#FF0000", fillOpacity: 0.35, editable: true, draggable: true }); polygone.setMap(map); google.maps.event.addListener(polygone, 'click', showArrays); }

Mammouth du PHP | 1207 Messages

08 mars 2017, 11:40

J'ai eu du mal à comprendre car tu as 2 fois une variable triangleCoordss qui est définie, au début du script et dans ton php aussi

la dernière écrasera forcement les autres.

je suppose donc que tu parle de la partie variable dans ta boucle php
Dans cette boucle, tu redéfini à chaque fois ta variable donc c'est de nouveau seule la dernière itération qui est prise en compte
crée ta variable en dehors de la boucle, et rempli là dans la boucle

Code : Tout sélectionner

var triangleCoordss=[]; for (var i=0 ; i<Secondlatlng.length-1 ; i++){ triangleCoordss.push(new google.maps.LatLng(Secondlatlng[i][0], Secondlatlng[i][1])); triangleCoordss.push(new google.maps.LatLng(Secondlatlng[i+1][0], Secondlatlng[i+1][1])); }

Eléphanteau du PHP | 30 Messages

08 mars 2017, 11:45

Merci beaucoup ça faisait un jour que je galérais la dessus, mais c'est bon cette méthode marche je la connaissais pas merci :)