是否可以将json数组与单独的变量一起发回

时间:2010-05-01 15:25:18

标签: json

嘿伙计我有一个从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;

4 个答案:

答案 0 :(得分: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方面可以保持不变。

答案 1 :(得分:0)

你真的想要发回一个包含你需要的JSON对象。

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

答案 2 :(得分:0)

您可以使用以下结构:

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

答案 3 :(得分:0)

在PHP中,变量数据应该是array(在PHP中,数组实际上是一个有序的映射)。
data ['ids']将是一个id数组 data ['variable1']将是variable1等。

然后json_encode(数据)将为您提供所需的json。