Bonjour,
Je suis débutant sur le monde de l’AJAX bien que cela fait plusieurs années qu’il est créé.
Si quelqu’un peut m’aider, je vous remercierai infiniment d’avance.
Bref, je crée une page avec rafraichissement d’une partie de la page avec setInterval() et je croie que ça marche bien.
Or, je veux récupérer la variable «var marker = data » pour pouvoir l’exploiter à nouveau pour la suite de mon code.
Le mieux c’est que je vous présente directement le code :
Base de données :
marker_id cat long lat name
1 12 47.522919 -18.902824 aladin
2 12 47.523549 -18.902311 aladin
3 12 47.523849 -18.902141 aladin
4 12 47.524383 -18.901877 aladin
5 10 47.525688 -18.901593 mickey
6 13 47.524820 -18.905732 clochette
7 13 47.524469 -18.905344 donald
8 13 47.524249 -18.905065 donald
9 13 47.523372 -18.904009 donald
page index2.php
---------------------------------
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 <html> <head> <title>Collecter données</title> <script src="jquery/jquery.min.js"></script> </head> <body> <div id='result'></div> <form> <input type="text" id='module' placeholder="référence du module"> </form> <form name="form1"> <br><input type="checkbox" name="checkbox" onClick="myFunction();return true;">activer </form> <script> $(document).ready(function(){}); </script> <script language="Javascript"> function myFunction() { //rafraichir toute les 1 seconde setInterval(function(){ var moduleE = $('#module').val(); // recuperer la valeur dans le champ de text id="module" $.post('validate.php', {postmoduleE:moduleE}, function(data1){ $('#result').html(data1); marker = data1; // marker sera réutilisé ultérieurement } ); }, 1000); } </script> </body> </html>
page validate.php
Code php : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10 <?php include_once("model/BDD.php"); /// accès à la base de données include_once("model/Map.php"); $vehic = $_POST['postmoduleE']; $map=new Map(); $catMarkers = $map->Locali($vehic); $allMarkersJson = json_encode($catMarkers); //// conversion du résultat en JSON echo $allMarkersJson; ?>
-------------------------------
page Map.php
------------
Code php : 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 <?php class Map extends BDD{ //__variable lié à la classe //__Affiche la dernière les markers function Locali ($vehic= "") { $bdd = parent::getBdd(); $sql = "SELECT DISTINCT * "; $sql .= "FROM `categorie`"; $sql .= "WHERE `cat` = '".$vehic."'"; $datas = $bdd->query($sql); while ($resultat = $datas->fetch(PDO::FETCH_OBJ)) { $count[] = $resultat; } return $count; // Accès au résultat } } ?>
Le résulat de var marker = [{"marker_id":"1","cat":"12","long":"47.522919","lat":"-18.902824"},{"marker_id":"2","cat":"12","long":"47.523549","lat":"-18.902311"},{"marker_id":"3","cat":"12","long":"47.523849","lat":"-18.902141"},{"marker_id":"5","cat":"12","long":"47.525688","lat":"-18.901593"}]
---------------------
Je veux que la valeur de var marker = data (dans index2.php) puisse être récupéré et réutilisé en temps réel dans un autre function pour que je puisse afficher mes markers de ma base de données.
---------------------
je pense que marker est un variable globale dans mon cas.
en somme ce que je veux faire c'est appeler marker dans une autre fonction par exemple de type :
Du coup ma question est peut être mal posée, comment je doit récupérer ma variable marker (variable située dans setInterval() ) afin de l'utiliser dans un autre fonction.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6 function retraiter(){ recupr = new myFunction(); varMarker = marker console.log(varMarker ); /// dans ce cas ci le log dit que varMarker est "undefinied" }
Cela fais un moment que je travaille sur le sujet mais je n'arrive pas à le résoudre jusqu'à maintenant. Comment faire ?
Partager