Возврат и получение результатов множественного запроса с помощью jquery ajax - PullRequest
0 голосов
/ 07 сентября 2018

В настоящее время я делаю вызов ajax, и он возвращает мне данные в формате json. Но мне нужно выполнить несколько запросов и вернуть результаты этих запросов в отдельных переменных / массивах. Как выполнить запросы для возврата данных таким образом, а также как получить их в ajax?

Любая помощь приветствуется.

$query1 = "SELECT `user`, `age` FROM `users` WHERE `GENDER`= 'M';
$query2 = "SELECT `user`, `age` FROM `users` WHERE `GENDER`= 'F';

$result1 = $connection->query($query1) or die ("error");
$data1 = array();

//loop through the returned data
foreach ($result1 as $row) {
    $data1[] = $row;
 }


//close connection
$connection->close();


 print json_encode($data1);

Ответы [ 2 ]

0 голосов
/ 07 сентября 2018

В php вы должны назначить весь массив одному массиву и закодировать этот массив

Ex:

foreach ($result1 as $row) {
    $data1[] = $row;
 }
$data['array1']=$data1;
foreach ($result2 as $row) {
    $data2[] = $row;
 }
$data['array2']=$data2;
foreach ($result3 as $row) {
    $data3[] = $row;
 }
$data['array3']=$data3;
echo json_encode($data);
0 голосов
/ 07 сентября 2018

http://php.net/manual/en/function.array-merge.php

$data1 = [ ... ]; // array with data
$data2 = [ ... ]; // array with some other data

echo json_encode(array_merge($data1, $data2));

Edit:

echo json_encode(array(
    'data1' => $data1,
    'data2' => $data2
));

В JavaScript вы можете сделать response.data1 и response.data2

$.ajax({
            url: "testdata.php",
            method: "POST",
            success: function(data) {
              var obj = JSON.parse(data);
              obj.data1;
              obj.data2;
            } 
});
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...