2010-05-01 51 views
0

嘿傢伙我有一個從php腳本接收數據的ajax jquery函數。我想返回一個數組,其中包含從mysql語句檢索到的所有在線用戶,並且我想發送其他用於其他目的的其他單獨變量以及它。如果有人有任何想法,我將不勝感激。注意:下面的例子是爲了說明我想要做什麼,我明白,用其他變量對數組進行編碼是不正常的。是否有可能發送一個json數組以及單獨的變量

JQUERY

$.ajax({ 
type: "POST", 
    data: "parameters", 
    url: "retrieval.php", 
    dataType: 'json', 
    success: function(json) 
    { 
    $('#div1').html(json.array); 
    $('#div2').html(json.variable1); 
$('#div3').html(json.variable2); 
} 
}) 

PHP

$qryuserscount1="SELECT * FROM active_users"; 
$userscount1=mysql_query($qryuserscount1); 
while ($row = mysql_fetch_array($userscount1)) { 
$onlineuser= $row['username']; 
$id=$row['id']; 

$data[]=$onlineuser.$id; //for example there are 3 users, should send 3 entries back 
} 
$data['variable1']='something'; 
$data['variable2']='something else'; 

$out = json_encode($data); 
print $out; 

回答

1

在PHP端你應該沿着線的東西:

$result = array(); 

$qryuserscount1="SELECT * FROM active_users"; 
$userscount1=mysql_query($qryuserscount1); 
while ($row = mysql_fetch_array($userscount1)) { 
    $onlineuser= $row['username']; 
    $id=$row['id']; 

    $result['array'][]=array('name'=>$onlineuser, 'id' => $id); //for example there are 3 users, should send 3 entries back 
} 
$result['variable1']='something'; 
$result['variable2']='something else'; 

$out = json_encode($result); 
print $out; 

JQuery的側面可以保持原樣。

+0

感謝卡米爾,我試過你的方法,但jQuery的一面似乎沒有認出陣列。只要我將數據['數組']轉換爲您的格式,該函數就會死亡。我試着測試頁面,它似乎返回正確的信息,但jquery沒有它。這是返回的json數組{「variable1」:「test」,「variable2」:「testing」,「array」:[{「entry」:「 user1」},{「entry」:「 user2」} ,{ 「條目」:」用戶3" }]} – Scarface 2010-05-01 18:04:01

+0

NVM我用\t \t \t $ \t。每(json.array,功能(I,ELEM){ \t \t $( '#users_online')附加(。 elem.entry); }); – Scarface 2010-05-01 18:53:33

0

你真的要發送回一個JSON對象包含你所需要的。

{ 
    "Users" : [ 
     "Jim", 
     "Bob", 
     "Sue" 
    ], 
    "Something" : 2, 
    "Else" : "This is something else." 
} 
0

你可以用以下結構:

{loggedUsers: [the list], variable1: 'something', variable2: 'something else'} 
0

在你的PHP中,變量數據應該是array(在PHP中,數組實際上是一個有序映射)。
data ['id']將是一個ID數組。
數據['variable1']將是變量1等

然後json_encode(數據)會給你你需要的json。

相關問題