Я следующий скрипт, который вызывается JQuery AJAXAjax запрос не возвращает JSON массив
function report_range($time, $ht, $start_date, $end_date) {
$query = mysql_query("SELECT type, count(*) FROM tracking WHERE htcode = '$ht' AND type IN ('viewed', 'shared', 'printed', 'emailed', 'used') AND date >= '$start_date' AND date <= '$end_date' GROUP BY type");
while ($result = mysql_fetch_assoc($query)){
switch ($result['type']){
case 'viewed':
$viewed = $result['count(*)'];
break;
case 'shared':
$shared = $result['count(*)'];
break;
case 'used':
$used = $result['count(*)'];
break;
case 'emailed':
$emailed = $result['count(*)'];
break;
case 'printed':
$printed = $result['count(*)'];
break;
}
}
//build the table rows
return '<tr><td>'.$time.'</td><td>'.$viewed.'</td><td>'.$shared.'</td><td>'.$used.'</td><td>'.$printed.'</td><td>'.$emailed.'</td></tr>';
//this is where the problem is, i dont think i am returning the value right.
}
// создаем переменные для отправки JSon
$stat_1 = report_range('Today', '1672627', date('Y-m-d'), date('Y-m-d'));
$stat_2 = report_range('Yesterday', $_POST['htcode'], date('Y-m-d', strtotime('yesterday')), date('Y-m-d', strtotime('yesterday')));
$stat_3 = report_range('Past 30 Days', $_POST['htcode'], date('Y-m-d', strtotime('30 days ago')), date('Y-m-d'));
$stat_4 = report_range('All Time', $_POST['htcode'], date('Y-m-d', strtotime('3600 days ago')), date('Y-m-d'));
// создаем массив JSON
echo json_encode(array(
'stat_1'=>$live_1,
'stat_2'=>$live_2,
'stat_3'=>$live_3,
'stat_4'=>$live_4
));
я не могу показаться, чтобы получить массив JSON с четырьмя переменными, содержащими строки таблицы я здание в фу nction.
jquery работает, так как он показывает нулевые значения.
Вы можете разместить свой jquery funciton. Также измените ваши $ live_x vars на $ stat_x vars –
Вы не объявляете переменные $ live *. – CBusBus