22 Mar

Membuat Paging dengan PHP dan MySQL

PHP

Menampilkan data dalam jumlah banyak dalam satu halaman bukanlah pilihan yang baik. Selain membuat load database menjadi besar, dari sisi user juga tentu tidak nyaman untuk selalu men-scroll halaman hingga ratusan bahkan ribuan baris data. Untuk itu diperlukan pemecahan data menjadi beberapa halaman dengan jumlah data yang terbatas setiap halamannya (misalkan 20 – 50 data per halaman).

Membuat paging dengan PHP tidaklah sulit. Silahkan ikuti tutorial berikut ini.

Materi Dasar

Tentu kalian sudah tahu bahwa untuk menampilkan data dari database adalah dengan query SELECT * FROM nama_tabel. Query tersebut akan menampilkan seluruh data dari tabel.

Untuk membatasi jumlah data yang ditampilkan, tambahkan perintah LIMIT offset, row_count sehingga untuk menampilkan data sebanyak 50 row, query menjadi seperti berikut.

Keterangan :

  • offset adalah berapa banyak data yang akan dilewati (skip). Jika offset 0, maka data ditampilkan dari baris pertama. Jika offset 10, maka data ditampilkan dari baris ke-11.
  • row_count adalah jumlah data yang akan ditampilkan.

Perhatikan lagi query diatas, LIMIT 0, 50 berarti menampilkan data sebanyak 50 baris dari baris pertama. Jika ingin menampilkan data sebanyak 50 data dimulai dari baris ke 51, maka query nya  adalah LIMIT 50, 50.

Implementasi dengan PHP

Agar paging dapat digunakan berulang kali dengan mudah (reusable), paging kita buat sebagai function. Ada dua fungsi yang akan kita buat, yaitu :

  1. getTableData() digunakan untuk mengambil data dari tabel untuk ditampilkan pada halaman yang dipilih.
  2. showPagination() digunakan untuk menampilkan tombol pagination.

Dengan membuat kedua fungsi ini, kita akan dapat dengan mudah menampilkan tombol paginasi dan data dari tabel tanpa harus menulis ulang kode setiap kali diperlukan.

Fungsi getTableData()

Buat file baru. Ketikkan kode berikut dan simpan dengan nama pagination.php.

Perhatikan variabel $query, disini kita menerapkan query sql dengan LIMIT. Parameter offset dan row_count diambil dari variabel $limit dan $startRow. Variabel $startRow adalah hasil perhitungan untuk mendapatkan nilai offset sehingga data yang ditampilkan sesuai dengan halaman yang dibuka.

 Fungsi showPagination()

Tambahkan kode berikut pada file pagination.php.

Untuk bisa membuat paging, maka kita harus mengetahui jumlah total data yang ada terlebih dahulu, kemudian total data tersebut dibagi dengan jumlah data yang ditampilkan dalam satu halaman. Dengan demikian, kita mendapatkan jumlah paging yang dapat dibuat. Perhatikan variabel $totalPage.

Jika kita memiliki data sebanyak 13 baris dan akan ditampilkan sebanyak 5 data per halaman,  maka paging yang dibuat adalah 3, sehingga data pada baris ke 11, 12, dan 13 dapat ditampilkan. Untuk memenuhi kebutuhan ini, maka digunakan fungsi ceil() untuk membulatkan pembagian ke atas karena 13 jika dibagi 3 tidaklah bulat 3 dan juga bukan 4.

Setelah jumlah total paging yang akan dibuat diketahui, sekarang kita tinggal membuat tombol sebanyak jumlah halaman (total paging) yang didapat dengan menggunakan pengulangan while ($page <= $totalPage).

Menampilkan Data

Sekarang kita sudah memiliki dua fungsi untuk menampilkan data dan untuk membuat tombol paginasi. Sekarang kita gunakan kedua fungsi tersebut.

Buat file baru dan simpan dengan nama data.php. Kemudian buatlah koneksi ke database. Silahkan gunakan database apa saja yang pernah dibuat, yang penting ada tabel yang memiliki data yang cukup untuk contoh (misal memiliki lebih dari 20 baris data).

Penjelasan dapat dibaca pada baris-baris komentar kode di atas. Silahkan dipahami.

Kesimpulan

Membuat paginasi tidaklah sulit. Dengan membuat paginasi menjadi fungsi, kita dapat dengan mudah menggunakan fitur paginasi tanpa harus menuliskan kode yang sama berulang kali pada halaman-halaman yang membutuhkan.

Selamat belajar.

20 Mar

One Piece, Tim GILA yang Luar Biasa!

one piece

Kaptennya gila, anggotanya gila, tujuannya juga gila.
Lebih gilanya lagi, tiap anggota tim punya tujuan yang berbeda-beda.

Mereka sama-sama berangkat dari “Nothing” untuk kemudian menjadi “Something”. Mereka menjalani semua kesulitan (tantangan) bersama-sama dan saling mendukung antara satu dengan lainnya. Mereka berkembang bersama.

Ada kalanya satu pihak mengandalkan pihak lainnya, anggota lainnya, dalam hal yang tidak dikuasai. Ini manusiawi. Yang penting adalah mereka tetap memberikan yang terbaik, bagaimanapun kurangnya kondisi mereka. Mereka memberikan yang terbaik berdasarkan kesanggupannya masing-masing.

Luffy, Zoro, Sanji, dengan kekuatan fisiknya. Nami, Robin, Chopper, dengan pengetahuannya. Franky, Brook, dengan keterampilannya. Bahkan Usop dengan pikiran negatif nya. Mereka memberikan yang terbaik berdasarkan kemampuannya.

Kepercayaan, Loyalitas, Totalitas, Inisiatif. Itu kunci mereka.

Dan yang paling penting, mereka bisa sangat solid karena “Penulis Cerita”-nya menuliskan kalau mereka itu solid… Kalo Oda bikin cerita mereka gak solid, ya gak akan solid…

~hikmah

20 Jan

Memahami Margin dan Padding pada CSS

Ini adalah video screencast pertama saya. Dalam video ini saya membahas tentang margin dan padding pada css juga dengan contoh penggunaanya. Jika ada pertanyaan atau materi yang kurang jelas, jangan sungkan untuk mengisi kolom komentar dibawah, atau boleh juga menghubungi saya via menu kontak. :)