2013-01-06 54 views
0

形成一個php頁面我使用json發送一些值。動態json值存儲

$result = mysql_query("SELECT * FROM user_info"); 


    $i=1; 
    while($row = mysql_fetch_array($result, MYSQL_NUM)) { 
     if(is_array($row) && count($row)>0) 
     { 
      $res['user_name'.$i]   = $row[1]; 
      $res['user_email'.$i]   = $row[2]; 
      $res['gender'.$i]   = $row[4]; 
      $res['i']     = $i; 
      $i++; 
     } 
    } 

echo json_encode($res); 

我有這個code.But在另一個頁面沒問題,我想獲得這些數據的代碼如下

$.post(urlName, function(data) { 
    var obj = jQuery.parseJSON (data); 
    $noOfUser = obj.i; 
    alert("No of user- "+$noOfUser); 

    for($i=0;$i<=$noOfUser;$i++) 
    { 
    $user_name = obj.user_name+$i; 
    $user_emai = obj.user_email+$i; 
    $gender = obj.gender+$i; 

    alert("User Name- "+$user_name); 
    alert("User Email- "+$user_emai); 
    alert("User Gender- "+$gender); 
    } 
    }); 

但是,當我加入這個obj.user_name+$i問題,而不是簡單的obj.user_name它可以沒有正確地檢索數據,但我需要得到那些價值如何做到這一點?

回答

0

您正在嘗試做什麼嘗試獲取objuser_name成員並追加值$i。由於user_name未定義,因此腳本失敗。

這是因爲在javascript中使用動態生成的密鑰來訪問對象的成員,您必須使用[]訪問器,所以在您的情況下,以下示例應該可以工作。

$user_name = obj['user_name' + $i]; 
+0

如果我把'$ USER_NAME = obj.user_name1;'我得到的第一個用戶名,如果我把'$ USER_NAME = obj.user_name2;'我得到第2次我只是想通過添加這種'$自動獲得本i'。 – user1635431

+0

感謝它工作正常 – user1635431