2012-05-31

cara newbie bikin laporan

biar fokus liat yg mulus-mulus dahulu.. Dalam program yang saya bikin, biasanya mereka minta laporannya untuk hadir dalam bentuk excel .. untuk bikin excel bisa cari di bagian excel yang ada di halaman ini juga. Dalam membuat ke bentuk excel, saya memulai dari hal yang sederhana yaitu tampil di html..
kemudian dari tampilan html dikasi header yang menyatakan ini adalah excel!! cara ini sudah dilakukan sejak lama (hampir 5 tahun), dimana header tersebut juga ditambah perintah download bukan buka di browser.

Selain urusan Laporan, sebenarnya laporan tidak selalu klik langsung jadi laporan!! tetapi ada syarat dan kondisi seperti
  • laporan yang ingin ditarik, apakah laporan pembelian, penjualan dll
  • rentang laporan akan ditarik, dalam hal ini tanggalnya
  • bentuk laporan yang 1 halaman  berisi semua data dan subnya.. atau sub bagian dipisah di halaman berbeda.
Itu sebabnya saya memulai segalanya dari membuat form.. apa aja form yang saya buat dapat dilihat dibawah
  • Tipe Laporan : (memilih dari radio)
  • Tanggal: {tanggal} hingga {tanggal} *biasanya pake datepicker yg didapat dari jquery
  • Cetak: {checkbox} Ya
dari form ini nantinya akan dilempar ke halaman yang sama (bukan halaman target laporan kamu). Di halaman berikutnya, tugas kita adalah menerjemahkan variable (POST) yang dikirim ke halaman/script yang tepat.
Tetapi sebelum melakukan itu, saya melakukan check data seperti
<?php
if($_POST)
{
echo '<pre>';print_r($_POST);die('</pre>');
}
tujuannya untuk menemukan variable apa yg dikirim lalu dicatat dan dipake buat nentuin script mana yang akan di tuju.. termasuk variable mana yang akan digunakan dalam pencarian/filtering data di halaman.

Saya sendiri dominan mengirim dari form ini sebagai POST lalu saat menuju script yang akan dituju berikutnya(setelah baca halaman ini lagi) di hadirkan sebagai GET!!

secara teori tentu akan mudah.. tetapi kesulitan justru terjadi krn hasilnya akan jalan di script berikutnya yg mungkin lebih strik dalam memberikan input bila ada kesalahan.

Tidak ada komentar: