2014-06-17 3 views
0

Je rencontre des problèmes pour décoder un objet JSON. J'appelle un script PHP en utilisant un appel Ajax. Le script PHP retourne un objet codé JSON que je peux lire mais seulement le premier enregistrement. Comment puis-je décoder l'objet JSON? J'utilise JQUERY Mobile.JSON Object To Javascript Array?

script PHP:

<?php 

    $host = "localhost"; 
    $user = "root"; 
    $pass = "[password]"; 

    $databaseName = "zombieSurvival"; 
    $tableName = "TBLusers"; 

    //Connect to mysql database 

    include 'DB.php'; 
    $con = mysql_connect($host,$user,$pass); 
    $dbs = mysql_select_db($databaseName, $con); 

    // 2) Query database 

    $result = mysql_query("SELECT * FROM $tableName"); 
    $array = mysql_fetch_array($result); 
    echo json_encode($array); 

?> 

et est ici l'appel Ajax:

$.ajax({ 
     url: '/PHP/getUserMarkers.php', 
     data: "", 
     dataType: 'json', 
     success: function(data){ 

     //How can I treat 'data' variable to make it a 
     //javascript array? 


     } 
     }); 
+3

Même si cela est une machine 'localhost', affichant votre mot de passe n'est pas conseillé. – JakeGould

+0

Vous pouvez voir une réponse dans ce doublon: [Conversion d'objet JSON en tableau Javascript] (http://stackoverflow.com/questions/20881213/converting-json-object-into-javascript-array) –

+0

Merci Jake - surveillance de mon part ... Va jeter un coup d'œil sur le doublon posté par lulian ... – user3535074

Répondre

0

La question a été l'objet JSON renvoyé par le script PHP. Ajusté le script PHP comme ci-dessous et maintenant je peux accéder à toutes les lignes retournées et les noms de champs individuels.

<?php 

    $host = "localhost"; 
    $user = "root"; 
    $pass = "muertealregueton"; 

    $databaseName = "zombieSurvival"; 
    $tableName = "TBLusers"; 


    include 'DB.php'; 
    $con = mysql_connect($host,$user,$pass); 
    $dbs = mysql_select_db($databaseName, $con); 


    $result = mysql_query("SELECT * FROM $tableName"); 
    $array = array(); 
    while(($row = mysql_fetch_array($result))) { 
     $array[] = $row; 
    } 
    echo json_encode($array); 

?> 

et le code ajax qui appelle une alerte sur l'un des dossiers plus tard retournés:

$.ajax({ 
     url: '/PHP/getUserMarkers.php', 
     data: "", 
     dataType: 'json', 
     success: function(data){ 


     //now I can access each row and field 
     //like here I access the 3rd field of the 15th record 
     alert(data[15][2]); 



     } 
     });