Tadinya saya pikir untuk membuat pagination menggunakan Ms Access bisa langsung me-limit query-nya. Ternyata kita tidak bisa langsung me-limit query karena di Ms Access tidak ada operator untuk limit.
Oleh karena itu yang bisa dilakukan adalah dengan membagi data yang ingin kita tampilkan. Ide dasarnya yaitu:
- Dapatkan jumlah semua baris.
- Input halaman berapa yang ingin ditampilkan.
- Hitung batas awal dan akhir data yang ingin ditampilkan.
- Cek, hanya data di antara awal dan akhir yang akan ditampilkan.
Misalnya kita mempunyai table dengan jumlah total record ada 20 dan tiap halaman kita ingin tampil cuma 3 data. Maka caranya adalah seperti ini:
Nah untuk variabel halaman yaitu variabel yang menyatakan halaman berapa, bisa kita inputkan melalui url aja. Jadi misal tampil.jsp?halaman=2. Sedangkan variabel batas adalah batas berapa data yang ingin kita tampilkan dalam satu halaman.
Kemudian kita lakukan pengecekan pada saat menampilkan hasilnya.
rs.last(); int total = rs.getRow(); rs.beforeFirst(); int awal = batas*halaman - (batas - 1); int akhir = batas*halaman;
Nah untuk variabel halaman yaitu variabel yang menyatakan halaman berapa, bisa kita inputkan melalui url aja. Jadi misal tampil.jsp?halaman=2. Sedangkan variabel batas adalah batas berapa data yang ingin kita tampilkan dalam satu halaman.
Kemudian kita lakukan pengecekan pada saat menampilkan hasilnya.
while(rs.next()){ if(rs.getRow()>=awal && rs.getRow()<=akhir){ //tampilkan data } }Nah untuk mendapatkan jumlah halamannya ada berapa. Kita gunakan variabel total yang dibagi dengan batas.
total_halaman = total / batas; //bulatkan keatas.Ok? ada yang belum jelas? silakan tanya di kolom komentar saja ya. Maaf postingnya rada berantakan. Buru-buru soalnya. Thx All.