code php mysql
生成此json格式的代码$ok = mysql_query("SELECT *,YEAR(NOW()) AS ok ,MONTH(NOW())FROM bulan WHERE bulan<=MONTH(NOW()) ");
while($r1=mysql_fetch_array($ok)){
$cek=$r1['bulan']; $cek2=$r1['ok']; $gab=$cek2."-".$cek; $sql="SELECT (SELECT COUNT(p.perkara_id) FROM perkara AS p LEFT OUTER JOIN perkara_putusan AS putus ON p.perkara_id = putus.perkara_id WHERE p.alur_perkara_id AND LEFT(p.tanggal_pendaftaran, 7) < '$gab' AND ( putus.tanggal_putusan IS NULL OR LEFT(putus.tanggal_putusan, 7) >= '$gab') AND p.
jenis_perkara_kode
!='LL')AS sisa_bulan_lalu FROM bulan WHERE bulan=$cek ";
$sql2="SELECT ( SELECT COUNT(p.perkara_id) FROM perkara AS p WHERE p.alur_perkara_id AND LEFT(p.tanggal_pendaftaran, 7) = '$gab' AND p.
jenis_perkara_kode
!='LL')AS sisa_bulan_lalu FROM bulan WHERE bulan=$cek ";
while($r1=mysql_fetch_array($ok)){
!='LL' )AS sisa_bulan_lalu FROM bulan WHERE bulan=$cek ";$hasil = mysql_query("$sql"); $hasil2 = mysql_query("$sql2"); $hasil3 = mysql_query("$sql3");
$rows1 = array(); $rows1['name'] = 'sisa_bulan_lalu';
while($r=mysql_fetch_array($hasil)){ $rows1['data'][] = $r['sisa_bulan_lalu']; }$rows2 = array(); $rows2['name'] = 'masuk_bulan_ini';
while($r2=mysql_fetch_array($hasil2)){ $rows2['data'][] = $r2['sisa_bulan_lalu']; }$rows3 = array(); $rows3['name'] = 'minutasi_bulan_ini';
while($r3=mysql_fetch_array($hasil3)){ $rows3['data'][] = $r3['sisa_bulan_lalu']; }$result = array(); array_push($result,$rows1); array_push($result,$rows2); array_push($result,$rows3); print json_encode($result, JSON_NUMERIC_CHECK);
}
[{"name":"sisa_bulan_lalu","data":[67]}, {"name":"masuk_bulan_ini","data":[23]}, {"name":"minutasi_bulan_ini","data":[17]}]
[{"name":"sisa_bulan_lalu","data":[66]}, {"name":"masuk_bulan_ini","data":[22]}, {"name":"minutasi_bulan_ini","data":[27]}]
[{"name":"sisa_bulan_lalu","data":[53]}, {"name":"masuk_bulan_ini","data":[11]}, {"name":"minutasi_bulan_ini","data":[12]}]
[{"name":"sisa_bulan_lalu","data":[33]}, {"name":"masuk_bulan_ini","data":[20]}, {"name":"minutasi_bulan_ini","data":[39]}]
我希望数据可以通过以下方式格式化 我可以插入HighCharts中的系列选项:[{ name: 'Sisa Bulan Lalu', data: [67,66,53,33] }, { name: 'Masuk Bulan Ini', data: [23,22,11,20] }, { name: 'Minutasi Bulan Ini', data: [17,27,12,39] }]
答案 0 :(得分:0)
你可以这样做,
var data = [{
"name": "sisa_bulan_lalu",
"data": [67]
}, {
"name": "masuk_bulan_ini",
"data": [23]
}, {
"name": "minutasi_bulan_ini",
"data": [17]
}, {
"name": "sisa_bulan_lalu",
"data": [66]
}, {
"name": "masuk_bulan_ini",
"data": [22]
}, {
"name": "minutasi_bulan_ini",
"data": [27]
}, {
"name": "sisa_bulan_lalu",
"data": [53]
}, {
"name": "masuk_bulan_ini",
"data": [11]
}, {
"name": "minutasi_bulan_ini",
"data": [12]
}, {
"name": "sisa_bulan_lalu",
"data": [33]
}, {
"name": "masuk_bulan_ini",
"data": [20]
}, {
"name": "minutasi_bulan_ini",
"data": [39]
}];
var res = [];
var axis = [];
data.forEach(function(o) {
var exists = res.find(p => p.name === o.name);
if (exists) {
exists.data.push(o.data[0]);
} else {
axis.push(o.name);
res.push(o);
}
});
<强> DEMO 强>