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