Dapatkan CD MP3 Murottal Al Qur'an dan Terjemahnya. Satu-satunya di Indonesia!!
Ingin Punya Script SMS Gateway dengan PHP + MySQL?

Dapatkan segera phpSMS V3.0, software SMS Gateway multi fungsi berbasis web buatan saya sendiri untuk keperluan Anda.
[Info Lengkap...]

Membuat Script PHP Untuk Report atau Rekap Data (2)


December 12th, 2009 | by rosihanari | Cetak Artikel Ini Cetak Artikel Ini

Beberapa waktu yang lalu saya pernah nulis artikel tentang cara buat script untuk rekap data untuk kasus yang agak simple. Nah… kali ini saya akan mencoba menulis kembali untuk masalah yang sama, namun dengan kasus yang agak sedikit kompleks.

Perhatikan studi kasus berikut ini, misalkan kita punya data karyawan yang tersimpan dalam 3 buah tabel yaitu ‘karyawan’, ‘golongan’ dan ‘bidang’ sebagaimana tampak pada gambar berikut ini

Tabel: Bidang
Script Rekap Data PHP

Tabel: Golongan
Script Report Data PHP

Tabel: Karyawan
Script Rekap Data PHP

Yang jadi permasalahan adalah, bagaimana cara kita membuat script PHP untuk menghasilkan output seperti di bawah ini?

Script Rekap Data PHP

OK sebelum kita mulai membuat scriptnya, terlebih dahulu kita harus punya ide pembuatannya dulu. Apabila kita perhatikan bahwa setiap baris data pada tabel output menunjukkan informasi mengenai jumlah total pegawai, jumlah pegawai pada masing-masing golongan untuk setiap bidangnya. Maka nanti idenya adalah, kita baca semua bidang yang ada dahulu, kemudian untuk setiap bidangnya kita cari jumlah data masing-masing item nya (total pegawai dan jumlah karyawan berdasarkan golongan). Sambil mencari jumlah masing-masing item untuk setiap bidang, jangan lupa kita jumlahkan jumlah masing-masing itemnya untuk mencari total item di akhir tabel.

Berdasarkan ide tersebut, kita buat script PHP sbb:


/*
perintah koneksi ke db ditulis di sini
*/

// membuat awal dan header tabel
echo "

";
echo "

";

// nilai awal untuk nomor urut data
$no = 1;

// nilai awal jumlah total karyawan
$totalKaryawan = 0;

// nilai awal jumlah karyawan gol 1
$totalGol1 = 0;

// nilai awal jumlah karyawan gol 2
$totalGol2 = 0;

// nilai awal jumlah karyawan gol 3
$totalGol3 = 0;

// membaca semua data bidang
$query = "SELECT * FROM bidang";
$hasil = mysql_query($query);
while ($data = mysql_fetch_array($hasil))
{
// baca kode bidang
$kodeBidang = $data['kd_bidang'];

// baca nama bidang
$namaBidang = $data['nama_bidang'];

// cari jumlah karyawan untuk setiap kode bidang
$query2 = "SELECT count(*) as jum FROM karyawan WHERE kd_bidang = '$kodeBidang'";
$hasil2 = mysql_query($query2);
$data2 = mysql_fetch_array($hasil2);
$jumlah = $data2['jum'];

// menjumlahkan setiap jumlah karyawan setiap bidang
// untuk menghitung total seluruh karyawan
$totalKaryawan += $jumlah;

// cari jumlah karyawan untuk setiap kode bidang bergolongan 1
$query2 = "SELECT count(*) as jum1 FROM karyawan WHERE kd_bidang = '$kodeBidang' AND kd_gol = 1";
$hasil2 = mysql_query($query2);
$data2 = mysql_fetch_array($hasil2);
$jumGol1 = $data2['jum1'];

// menjumlahkan setiap jumlah karyawan gol 1 di setiap bidang
// untuk menghitung total seluruh karyawan bergolongan 1
$totalGol1 += $jumGol1;

// cari jumlah karyawan untuk setiap kode bidang bergolongan 2
$query2 = "SELECT count(*) as jum2 FROM karyawan WHERE kd_bidang = '$kodeBidang' AND kd_gol = 2";
$hasil2 = mysql_query($query2);
$data2 = mysql_fetch_array($hasil2);
$jumGol2 = $data2['jum2'];

// menjumlahkan setiap jumlah karyawan gol 2 di setiap bidang
// untuk menghitung total seluruh karyawan bergolongan 2
$totalGol2 += $jumGol2;

// cari jumlah karyawan untuk setiap kode bidang bergolongan 3
$query2 = "SELECT count(*) as jum3 FROM karyawan WHERE kd_bidang = '$kodeBidang' AND kd_gol = 3";
$hasil2 = mysql_query($query2);
$data2 = mysql_fetch_array($hasil2);
$jumGol3 = $data2['jum3'];

// menjumlahkan setiap jumlah karyawan gol 3 di setiap bidang
// untuk menghitung total seluruh karyawan bergolongan 3
$totalGol3 += $jumGol3;

// tampilkan baris datanya untuk setiap bidang
echo "

";

// increment untuk nomor urut data
$no++;
}

// membuat baris untuk total data
echo "

";

// membuat akhir dari tabel
echo "

No Bidang Jum Karyawan Gol. Satu Gol. Dua Gol. Tiga
".$no." ".$namaBidang." ".$jumlah." ".$jumGol1." ".$jumGol2." ".$jumGol3."
Jumlah ".$totalKaryawan." ".$totalGol1." ".$totalGol2." ".$totalGol3."

";

?>
[/sourcecode]

What do u think? ternyata tidak sulit bukan membuat report atau rekap data dengan PHP. Selamat mencoba ya. Oya, script di atas, belum saya coba jalankan sendiri di browser melainkan menulis kodenya langsung di WordPress, so.. kalo ada error mohon maklum. Tolong koreksi script di atas ya, siapa tahu ada error atau bug nya :-)

Please report any errors or bugs of the script in the comments box below.

VN:F [1.9.3_1094]
Rating: 0.0/10 (0 votes cast)

Anda ingin mendownload beberapa tool programming 100% gratis?
Silakan download di FREE PROGRAMMING TOOLS.
atau ingin berdonasi untuk pengembangan blog ini cukup dengan $1 via Paypal?



Beberapa artikel terkait


Share this article on:

Kata kunci: membuat data rekap - membuat report php - script php - script rekap data - trik php script -


Ada 13 komentar dalam artikel ini.

  1. surya says:

    mau tanya nich mas,
    Gimana cara buat link untuk ngeprint, web kita.. namun pd saat ngeprint printah klick print nya tdk ikut tercetak…
    makasih banget nich mas dah banyak membantu saya…
    thank ya.. atas amal nya :-)

  2. Agus Budhi says:

    Mas..saya mau tanya..setelah kita registrasi dan login, gimana caranya supaya foto kita pas registrasi muncul dihalaman membernya mas…mohon bantuannya…Terima kasih

  3. rosihanari says:

    @agus budhi: itu pake session mas, jadi id user itu disimpan di session, lalu id yang tersimpan di session tsb digunakan untuk melakukan query guna menampilkan data fotonya.

  4. Agus Budhi says:

    Terima kasih mas atas infonya…akan saya coba dulu…

  5. ogi says:

    pak gmana caranya report dalam bentuk ms word

  6. romeopeg says:

    Terima kasih buanget Pak Dosen, ini yang saya butuhkan selama saya surfing di internet….. Makasih…. Makasih….. Makasih…..
    Semoga amal bapak dibalas oleh Allah SWT Amin….

  7. Anas says:

    Wah sip nih :)
    Ijin copy script ya mas,
    Kalau untuk setup batasan halamannya bagaimana mas, misalnya mau menggunakan ukuran kertas A3 atau F4 dan lain2nya bagaimana?
    Terimakasih atas ilmunya

  8. triyanto says:

    selamat malam pak
    pak,bagaimana cara yang lengkap dari awal sekali jika kita ingin membuat tabel versi php.soalnya saya baru smstr IV dan sangat asing dengan pemrograman komputer.
    tolong di bantu.
    terima kasih.

  9. rosihanari says:

    @triyanto: membuat tabel versi php maksudnya gmn ya?

  10. triyanto says:

    selamat pagi pak

    saya triyanto,saya mau mengucapkan terimakasih banyak atas jawaban dari bapak.semoga tuhan YME membalas amal baik bapak.sekali lagi terima kasih banyak.

  11. triyanto says:

    selamat siang pak

    begini pak maksudnya membuat tabel data base menggunakan php.tujuannya sih ke pemrograman web.

    terima kasih.

  12. rosihanari says:

    @triyanto: oh.. ya langsung saja anda buat query CREATE TABLE dan disimpan dalam suatu variabel misalkan $x, lalu jalankan query tsb dengan perintah mysql_query($x), tentu saja sebelum menjalankan querynya Anda hrs buat koneksi ke mysqlnya dengan perintah mysql_connect(), dan mysql_select_db() untuk memilih database yang akan dibuat tabel di dalamnya.

  13. sca says:

    mas, mau tanya ..
    saya punya permasalahan dalam menampilkan report data dengan jumlah data yang cukup banyak(sekitar 8000 lebih). Pemrosesan berlangsung lama, sampai akhir nya muncul fatal error maximum execution ‘X’ second.

    Saya sudah memperpanjang execution_time nya walaupun masih lama, tapi masih dapat teratasi.
    Yang salah khawatir kan adalah ketika data itu terus bertambah dan suatu saat execution_time nya akan mentok lagi, maka akan terjadi error lagi.

    dari sisi query saya sudah meringkas query saya, namun tak banyak membantu.

    ada saran kah mas, bagaimana cara mengatasi nya? atau ada function d php untuk mengakali nya, hhe ..

    thx b4 ^^



Tolong beri komentar donk!

Komentar Anda akan berguna untuk kemajuan blog ini.


Mohon maaf, komentar yang menggunakan email palsu atau komentar bernada negatif atau cemooh secara otomatis akan terhapus karena dianggap spam dan tidak akan tampil dalam daftar komentar.

Dimohon jangan pula memasukkan code program dalam bentuk apapun ke dalam komentar karena akan dianggap spam.

*
To prove you're a person (not a spam script), type the security word shown in the picture. Click on the picture to hear an audio file of the word.
Click to hear an audio file of the anti-spam word