2012-09-07 2 views
0

J'utilise codeigniter. Voici mon code php pour interroger le résultat dans le tableau d'obj puis comment puis-je les passer à js. Je veux l'utiliser dans google mapsPhp variable obj à js

<?php 
    foreach ($query->result() as $row) 
    { 
     $lat = $row->geo_lat; 
     $lng = $row->geo_lng; 
     $pic = $row->picture; 
     echo $lat; 
     echo $lng; 
     echo "<img src=\"" . base_url() . $pic . "\"/><br />"; 
     //echo json_encode($row); 
     //echo "<pre>"; 
     //echo print_r($row); 
    } 
?> 

Code Js

var locations = ?????????; 
var marker, i; 
    for (i = 0; i < locations.length; i++) { 
    marker = new google.maps.Marker({ 
     position: new google.maps.LatLng(locations[i][0], locations[i][1]), 
     map: map, 
     draggable: true 
    }); 
    } 
+0

Merci à tous, je vais essayer – vzhen

Répondre

0

Vous pouvez émettre Javascript avec PHP ... pourquoi ne pas vous venez JSON-encode tous les résultats et les stocker dans votre variable locations, comme ceci:

<?php 
    echo("<script>"); 
    echo(" var locations = " + json_encode($query->result()) + ";"); 
    echo("</script>"); 
?> 
0

Vous devez utiliser AJAX pour avoir votre code JS pour demander la page PHP. La page PHP va traiter la requête, et retourner les données appropriées au format JSON (en utilisant json_encode() sur l'objet résultat).

3

Vous pouvez l'utiliser avec ou sans ajax.

Vous pouvez simplement avoir result ensemble au format JSON en utilisant json_encode() _et ajouter à js variables comme:

<script> 
    var js_obj=<?php echo json_encode($result); ?> 
    /* now you can access this json object that is in js_obj variable and acccess any thing you want using dot operator.*/ 
</script> 

Votre question est peu claire si vous demandez dans un certain sens différent, alors s'il vous plaît être clair afin que je puisse me concentrer sur un problème réel.

+0

Vos codes me conviennent. Mais si je change à ceci, cela ne fonctionne pas. Dans mon contrôleur de codeigniter. $ json = json_encode ($ data ['requête'] -> result()); puis dans mon fichier js externe. J'utilise jquery .ajax pour y accéder alert (json [0] .foo); – vzhen

+0

@vzhen si vous voulez l'utiliser via ajax puis à partir de PHP echo et puis accéder à partir de votre .ajax – Hafiz