(PHP) Kenapa kamu harus pakai Array

Walaupun mungkin (iya mungkin), array gak membantu dalam penggunaan memori, tapi array bisa membantu dalam pengulangan program.

Mulai senin, aku punya project di Telkom Pekanbaru untuk bikin web sales report. Singkat cerita, permintaannya adalah kita harus bisa lihat grafik kita sendiri, agensi kita, dalam satu grafik.

Grafik agensi? Check. Grafik sendiri? Check. Gabungin? :hammers

Seminggu kebelakang, aku ketemu Morris Chart. Iya, memang udah gak aktif lagi sejak 2014. But if it works, it works. Lalu aku belajar cara export data dari SQL untuk dimasukin ke morris chart. Dan ternyata, morris chart nerima data pakai format JSON.

Dan cilakanya, hampir semua tutorial mengajarkan gimana formatting JSON buat morris, tapi cuma dari 1 query.

 

Jadi apa yang aku lakukan?

Beberapa line diatas ngambil bulan dan tahun dari $_GET. Siapa tahu mau ngambil data dari bulan sebelumnya.

Lanjut, $sql dan $sql2 akan diproses, mysqli_query akan menyimpan hasilnya di $result dan $result2.

$result = mysqli_query($con,$sql);
$kunjungan = array_fill(0, 35, 0);
$sales_2p = array_fill(0, 35, 0);
$sales_3p = array_fill(0, 35, 0);
$sales_migrasi = array_fill(0, 35, 0);

$result2 = mysqli_query($con,$sql2);
$kunjungan2 = array_fill(0, 35, 0);
$sales_2p2 = array_fill(0, 35, 0);
$sales_3p2 = array_fill(0, 35, 0);
$sales_migrasi2 = array_fill(0, 35, 0);


Intinya, buat array isi 35. Setelah itu, isi semua dengan 0. Jadi seandainya tidak ada data, tidak error. Jangan diisi NULL, nanti Notice semua.

Dalam 2 looping while diatas, bisa dilihat kalau hasil SQL akan disimpan ke $variabel[$tanggal]. Karena sudah diantisipasi array dibuat 35 buah, maka setiap bulan akan dapat tempat variabelnya sendiri.

Sudah?

Sekarang gabungkan dengan while lagi.

$month_day menghasilkan berapa banyak hari dalam bulan yang diminta.
$chart_data akan ditulis berulang ulang, sebanyak $month_day.

Setelah itu, substr digunakan supaya hasil keluaran akhir sesuai dengan format JSON.

Jadi deh!

 

Share Button
Published
Categorized as Tutorial

By Rinaldo Jonathan

Admin of this site. Artis papan PCB. #zoneRinaldo #Controllerism Studio Demon, Stage Angel, Sleepy Developer, Smoke free. Kalkud SHS 2012, PCR G15.

Leave a Reply

Verified by ExactMetrics