EDITПолучение нескольких массивов в AJAX с PHP
мне нужно, чтобы получить два неправдоподобные массивов в один массив, и использовать echo json_encode
, чтобы отправить его обратно в AJAX
.
Вот мой PHP код:
header('Content-Type: application/json');
$arr = array();
$user = $_SESSION['username'];
$id_logged = $_SESSION['login_id'];
$date1 = $_POST['current_year'];
//$res = array();
$c = "cash";
$i = "installment";
//SUM of cash paid Month
$sql = "SELECT
count(app_id) as patients,
t.m as month
FROM (
SELECT 1 AS m UNION SELECT 2 UNION SELECT 3 UNION SELECT 4 UNION
SELECT 5 UNION SELECT 6 UNION SELECT 7 UNION SELECT 8 UNION
SELECT 9 UNION SELECT 10 UNION SELECT 11 UNION SELECT 12) AS t
LEFT JOIN dentist.appointment ON t.m = month(date_app) AND
id_logged = :logged AND year(date_app) = :year_now
GROUP BY t.m";
$sqlStmt = $conn->prepare($sql);
$sqlStmt->bindValue(":logged", $id_logged);
$sqlStmt->bindValue(":year_now", $date1);
$exec = $sqlStmt->execute();
$res1 = $sqlStmt->fetchAll();
$sql2 = "SELECT
count(app_id)+1 as patients,
t.m as month
FROM (
SELECT 1 AS m UNION SELECT 2 UNION SELECT 3 UNION SELECT 4 UNION
SELECT 5 UNION SELECT 6 UNION SELECT 7 UNION SELECT 8 UNION
SELECT 9 UNION SELECT 10 UNION SELECT 11 UNION SELECT 12) AS t
LEFT JOIN dentist.appointment ON t.m = month(date_app) AND
id_logged = :logged AND year(date_app) = :year_now
GROUP BY t.m";
$sqlStmt2 = $conn->prepare($sql2);
$sqlStmt2->bindValue(":logged", $id_logged);
$sqlStmt2->bindValue(":year_now", $date1);
$exec2 = $sqlStmt2->execute();
$res2 = $sqlStmt2->fetchAll();
$res['one']=$res1;
$res['two']=$res2;
echo json_encode($res);
А вот ответ на XHR:
Теперь на сценарий AJAX, мне нужно, чтобы получить каждую часть массива, поэтому я могу отобразить его на диаграмме:
success:function(res)
{
var patientData = [];
$.each(res, function(key, row)
{
patientData.push(row['one']);
console.log(patientData);
});
//Bar Chart Script;
}
Но я не вижу никаких данных на консоли или на гистограмме. Результатом консоли undefined
:
patientData.push (строка); <- попробуйте это –
Да и как я получаю доступ к первому массиву? 'patientData ['one']' или 'patientData [0]' – androidnation
patientData [0]. Поскольку вы ввели строки в patientData, который является массивом –