Sebagai studi kasus, kita akan mengambil data tentang mahasiswa. Adapun struktur tabel untuk menyimpan data mahasiswa ini adalah sebagai berikut:
1.CREATE TABLE mahasiswa (2.nim varchar(8),3.namaMhs varchar(20),4.PRIMARY KEY (nim)5.)1.CREATE TABLE jurusan (2.kodeJurusan varchar(3),3.namaJurusan varchar(10),4.PRIMARY KEY (kodeJurusan)5.)01.insert into mahasiswa values02.('M0197001', 'A'),03.('M0197002', 'B'),04.('M0197003', 'C'),05.('M0197004', 'D'),06.('M0198001', 'E'),07.('M0198002', 'F'),08.('M0199001', 'G'),09.('M0199002', 'H'),10.('M0199003', 'I'),11.('M0297001', 'J'),12.('M0297002', 'K'),13.('M0297003', 'L'),14.('M0298001', 'M'),15.('M0298002', 'N'),16.('M0298003', 'O'),17.('M0298004', 'P'),18.('M0298005', 'Q'),19.('M0299001', 'R'),20.('M0299002', 'S'),21.('M0299003', 'T'),22.('M0397001', 'U'),23.('M0397002', 'V'),24.('M0398001', 'W'),25.('M0398002', 'X'),26.('M0399001', 'Y'),27.('M0399002', 'Z');1.insert into jurusan values2.('M01', 'Matematika'),3.('M02', 'Fisika'),4.('M03', 'Kimia');
OK… bagaimana ide untuk membuat rekap di atas? Mudah kok, hanya butuh 2 langkah, yaitu:
- Langkah pertama adalah membuat judul kolom tabel untuk NO. dan NAMA JURUSAN, sedangkan kolom tahun angkatan kita buat dinamis yaitu dengan membaca data dari tabel mahasiswa. Untuk mengetahui tahun angkatan berapa saja dalam tabel mahasiswa, kita memanfaatkan query SQL. Tahun angkatan biasa terdapat dalam NIM mahasiswa, dalam contoh ini angkatan ditunjukkan pada digit 4 dan 5. Sehingga kita gunakan SUBSTRING dalam SQL nya. Setelah NO, NAMA JURUSAN, dan TAHUN ANGKATAN sudah dibuat, kolom yang terakhir adalah kolom JUMLAH.
- Langkah kedua kita mulai membuat baris dalam tabel. Adapun baris tabel menunjukkan nama masing-masing jurusan dan jumlah mahasiswa per angkatannya. Untuk membuat ini, kita membuat 2 buah looping. Looping yang pertama untuk menampilkan nama Jurusan. Nah… untuk setiap jurusan, kita hitung jumlah mahasiswa per angkatan. Untuk menghitung ini, kita gunakan looping yang kedua.
001.<?php002. 003.// koneksi ke mysql004. 005.mysql_connect("localhost","root","root");006.mysql_select_db("data");007.?>008. 009.<h1>Rekap Data Mahasiswa</h1>010. 011.<table border="1">012. 013.<!-- membuat nama kolom untuk No Urut dan Nama Jurusan -->014. 015.<tr>016.<td>No</td>017.<td>Nama Jurusan</td>018. 019.<?php020. 021.// query untuk mencari tahun angkatan berapa saja022.// dari mahasiswa023. 024.$query = "SELECT DISTINCT substring(nim, 4, 2) as angkatan025.FROM mahasiswa";026.$hasil = mysql_query($query);027.while ($data = mysql_fetch_array($hasil))028.{029. 030.// menampilkan nama kolom untuk setiap angkatan yang ada031. 032.echo "<td>Angkatan ".$data['angkatan']."</td>";033.}034.?>035. 036.<!-- membuat nama kolom untuk Jumlah -->037. 038.<td>Jumlah</td>039.</tr>040. 041.<?php042. 043.// nilai awal untuk no. urut044. 045.$no = 1;046. 047.// query untuk menampilkan nama masing-masing jurusan048. 049.$query = "SELECT * FROM jurusan";050.$hasil = mysql_query($query);051. 052.// looping pertama untuk menampilkan nama jurusan053. 054.while ($data = mysql_fetch_array($hasil))055.{056. 057.// kode jurusan diambil untuk query mencari jumlah058.// mahasiswa per angkatan059. 060.$kodeJurusan = $data['kodeJurusan'];061. 062.echo "<tr>";063. 064.// menampilkan no. urut dan nama jurusan065. 066.echo "<td>".$no."</td><td>".$data['namaJurusan']."</td>";067. 068.// query untuk menampilkan angkatan berapa saja dalam069.// tabel mahasiswa070. 071.$query2 = "SELECT DISTINCT substring(nim, 4, 2) as angkatan072.FROM mahasiswa";073.$hasil2 = mysql_query($query2);074. 075.// nilai awal untuk menjumlahkan mahasiswa per angkatan076. 077.$jumMhsPerJurusan = 0;078. 079.// looping kedua untuk menampilkan jumlah mhs per angkatan080. 081.while ($data2 = mysql_fetch_array($hasil2))082.{083.$angkatan = $data2['angkatan'];084. 085.// query untuk mencari jumlah mhs per angkatan per jurusan086. 087.$query3 = "SELECT count(*) as jumlah088.FROM mahasiswa089.WHERE substring(nim, 4, 2) = '$angkatan' AND090.substring(nim, 1, 3) = '$kodeJurusan'";091.$hasil3 = mysql_query($query3);092.$data3 = mysql_fetch_array($hasil3);093. 094.// menghitung total mahasiswa per jurusan095.// (gunakan increment)096. 097.$jumMhsPerJurusan += $data3['jumlah'];098. 099.// menampilkan jumlah mahasiswa per angkatan per jurusan100. 101.echo "<td>".$data3['jumlah']."</td>";102.}103. 104.// menampilkan jumlah total mahasiswa per jurusan105. 106.echo "<td>".$jumMhsPerJurusan."</td>";107.echo "</tr>";108. 109.// increment untuk no. urut data110. 111.$no++;112.}113.?>114. 115.</table>Sumber : http://blog.rosihanari.net/membuat-script-php-untuk-rekap-data-dari-data-mentah/
ini postingan apa ya ? pidato ? apa puisi ?
BalasHapusisinya tulisan semua bhakk