Привет, ребята У меня есть функция jjery ajax, которая получает данные из php-скрипта. Я хочу вернуть массив со всеми онлайн-пользователями, которые извлекаются из инструкции mysql, и я хочу отправить другие отдельные переменные, которые мне нужны для других целей вместе с ним. Если у кого-то есть какие-то идеи, я был бы очень признателен. ПРИМЕЧАНИЕ: приведенный ниже пример иллюстрирует то, что я хочу сделать, я понимаю, что json-encoding массив с другими переменными дисфункциональен.Можно ли отправить обратно массив 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;
Спасибо Kamil, я пробовал ваш подход, однако сторона jquery, похоже, не распознает массив. Как только я преобразую данные ['array'] в ваш формат, функция умирает. Я попытался проверить страницу и, похоже, вернул правильную информацию, но jquery ее не имеет. Это массив json, который он вернул {"variable1": "test", "variable2": "testing", "array": [{"entry": " user1"}, {"entry": " user2"} { "запись":» user3" }]} – Scarface
NVM Я использовал \t \t \t \t $ .each (json.array, функция (я, элем) { \t \t $ ('# users_online') добавляет (. elem.entry); }); – Scarface