Berdasarkan sebuah request/permintaan melalui surel, seorang rekan saya menanyakan : dapatkah Paging/penomoran halaman dipermudah , dipersingkat, tanpa ribet koding namun juga tidak ribet memenuhi halaman jika halaman hingga ribuan. Sebenarnya paging/ pemberian nomor halaman pada PHP tergantung pada kebutuhan. Biasanya sesuatu yang lengkap akan membutuhkan penanganan yang lengkap juga. Begitu juga dengan paging. Namun kadang dengan analisa yang tepat, bisa juga didapatkan sesuatu yang simple dan enak, dan dapat memenuhi banyak kebutuhan. Berikut disini saya paparkan hasil analisa paging simple penomoran halaman sederhana namun cukup powerfull.
Paging ini dimulai dari penentuan jumlah item tiap halaman yang akan ditampilkan. Selanjutnya dilakukan penangkapan parameter page dari method GET. Dalam contoh, item per halaman ditampilkan 10.
$item_per_page = 10;
$page = isset($_GET['page']) ? $_GET['page'] : 1 ;
Notasi tersebut berarti $page adalah didapat dari jika $_GET[‘page’] ter-set. Namun jika tidak akan berisi value 1. Untuk menghindari penomoran melewati batas, seperti kurang dari satu atau berisi value kosong, maka hadang / filter dulu dengan
if( ( $page < 1) && (empty( $page ) ) ){
$page=1;
}
Untuk mendapatkan jumlah halaman berarti harus didapatkan lebih dulu jumlah item yang ada. Jumlah item yang ada didapat dari query SQL.
$sql = "select * from `table`";
$query = mysql_query( $sql );
$jumlah_data = mysql_num_rows($query);
$jumlah_hal = ceil( $jumlah_data/$item_per_page );
Selanjutnya filter juga agar page yang terdapat di method GET tidak lebih dari jumlah halaman.
if( $page>$jumlah_hal ){
$page=$jumlah_hal;
}
Kemudian kita dapat membuat sebuah variable $lanjut dan $sebelum dengan penentuan seperti ini:
$lanjut = $page + 1;
$sebelum = $page - 1;
Barulah kita membuat kata-kata seperti berikut dilengkapi dengan navigasi Paging:
Anda ada di halaman dari
<< < sebelumnya
||
selanjutnya > >>
Ke Halaman:
Tampilan sangat sederhana seperti berikut :
<< < sebelumnya || sesudahnya > >>
Ke Halaman
Sederhana bukan?
Secara lengkap Code akan dipaparkan dalam bentuk fungsi, sehingga untuk penomoran halaman tinggal memanggil melalui fungsi seperti demikian
$sql = "select * from table";
$item_per_page =10;
paging($sql, $item_per_page);
FUNGSI UTAMA PAGING SIMPLE
Fungsinya adalah sebagai berikut di bawah (saya beri nama dengan paging.php). Anda dapat kopikan fungsi ini ke dalam kode anda, dan anda panggil ketika anda akan memberikan penomoran halaman. Anda juga dapat melakukan modifikasi sendiri sesuka hati:
$jumlah_hal ){
$page=$jumlah_hal;
}
$lanjut = $page + 1;
$sebelum = $page - 1;
?>
Anda ada di halaman dari
<< < sebelumnya
||
selanjutnya > >>
Ke Halaman:
Selanjutnya contoh perhalamannya akan seperti berikut:
NIP | Nama | HONOR | Status Ambil | |
---|---|---|---|---|
Calon 1 | |
---|---|
Calon 2 | |
Calon 3 | |
Calon 4 | |
Calon 5 |
Contoh Grafik Pemilihan Kepala Desa
Pembuatan grafik ini ternyata tidak sulit. Yaitu hanya dengan melakukan pembuatan elemen DIV yang diberi warna tertentu, dan diberi panjang tertentu, yang tentu saja panjangnya nanti akan menyesuaikan dari dalam tabel asal.
Sebagai contoh, apa yang terjadi apa bila kita membuat sintaks seperti demikian:
Calon 1 | |
---|---|
Calon 2 | |
Calon 3 | |
Calon 4 | |
Calon 5 |
Hasilnya tentu saja akan langsung seperti tabel di atas. Panjangnya batang akan mengikuti aturan width pada div yang bersangkutan. Grafik tersebut juga dapat kita kombinasikan dengan link href. Grafik tersebut dibuat dengan cara menempatkan sebuah elemen div yang berukuran panjang yang diatur dari database. Div tersebut juga harus rata kiri untuk dapat dibaca dengan jelas
Kita pun dapat membuat grafik dalam posisi vertikal. Hanya saja, karena tabel html memiliki karakter standard rata vertikal tengah, maka kita harus menambahkan valign=bottom
Sebagai contoh adalah sebagai berikut
Calon 1 | Calon 2 | Calon 3 | Calon 4 | Calon 5 |
---|
Hasilnya akan menjadi seperti ini:
Calon 1 | Calon 2 | Calon 3 | Calon 4 | Calon 5 |
---|
Nah ternyata cukup sederhana. Tinggal kita akhirnya dapat melakukan manipulasi angka tersebut dengan menggunakan PHP dan mengambil dari database server MySQL.
Untuk grafik lanjut berbasis image, dapat dilihat di :
https://blogit.bimosaurus.com/2012/04/21/contoh-cara-membuat-grafik-dengan-jpgraph-dengan-php-dan-mysql dan
https://blogit.bimosaurus.com/2012/04/19/contoh-1-dasar-membuat-grafik-dengan-jpgraph-di-php