Mengurutkan data mysql dalam laporan php
Data biasanya diinput dengan cara tak beraturan, bisa saja nama yang awalan Z lebih dulu dimasukkan, atau nomor urut yang lebih besar lebih duluan tergantung data mana yang lebih awal disiapkan. Dan jika dibuatkan laporannya dengan cara biasa saja, tentunya akan muncul sesuai dengan urutan memasukkan datanya ke dalam database. Bagaimana cara mengurutkan data tersebut dalam laporan php?
Saya disini tidak akan membicarakan bagaimana membuat laporanya, karena untuk membuat laporan anda bisa baca tutorial saya tentang Membuat Aplikasi Data Mahasiswa. Yang saya bahasa kali ini adalah tentang bagaimana menyusun query mysql dalam laporan tersebut.
Contoh Kasus
Anda sedang membuat aplikasi pendaftaran siswa/mahasiswa baru dengan php, kemudian anda mempunya tabel database dengan susunan seperti berikut :
nama tabel : tb_siswa_baru
no_pendaftaran tipe int panjang 10 dan diset sebagai primary auto number
nama tipe varchar panjang 30
tanggal_lahir tipe date
agama tipe varchar 15
tanggal_daftar tipe datetime
dst
Pada saat aplikasi digunakan, tentunya masing-masing field akan terisi dengan data dan urutan berbeda seperti yang saya sampaikan diatas. Suatu saat tentunya anda memerlukan laporan khusus dengan urutan yang jelas berdasar kolom/field tertentu dalam tabel data yang sudah dibuat. Misal berdasar nomor pendaftaran, berdasar nama, berdasar tanggal lahir, agama, tanggal daftar, bahkan jika diperlukan data ditampilkan secara acak.
Untuk melakukan hal tersebut diatas anda hanya perlu melakukan penambahan query/perintah dasar mysql dalam php yang sudah anda buat. Contoh sesuai dengan kasus diatas :
Untuk menampilkan urut dari nilai kecil ke besar (A-Z / 1-9)
$query= "select * from tb_siswa_baru order by no_pendaftaran asc;"; mysql_query($query);
Untuk menampilkan urut dari besar ke kecil (Z-A / 9-1)
$query= "select * from tb_siswa_baru order by no_pendaftaran desc;"; mysql_query($query);
Untuk menampilkan laporan secara acak
$query= "select * from tb_siswa_baru order by no_pendaftaran rand();"; mysql_query($query);
Contoh diatas juga berlaku untuk kolom/field yang lainya seperti nama, tanggal lahir dan agama.
Semoga bermanfaat
Zainal Hakim
** Bebas disunting dengan menyebutkan sumber **