
Paging juga dikenal dengan sebutan pagination ( paginate ), previous-next, tampilan per halaman, page navigator, halaman 1..2..3, dst. Apapun namanya, intinya paging merupakan suatu teknik data yang akan ditampilkan dalam suatu halaman web.
Biasanya paging digunakan untuk menampilkan data yang banyak dan hampir disetiap aplikasi web si paging selalu ada. Oleh karena itu, paging merupakan kurikulum wajib dalam menampilkan data.
1. Tiga langkah mudah Menerapkan Paging
Ya, anda tidak salah baca dengan judul, karena hanya diperlukan tiga langkah saja untuk menerapkan paging pada suatu skrip yang belum ada pagingnya. Berikut jabaran dari langkah-langkahnya :
- Tentukan limit/batas, lalu cek pada halaman dan posisi berapa pada saat skrip itu dijalankan
- Seusaikan QUERY ( SQL ) dengan limit (batas ) dan posisi.
- Hitung total data dan halaman serta tampilan link untuk navigasi halaman.
Ok....kita langsung saja praktek, ini skripnya
<?php // membuat koneksi dengan database $con = mysqli_connect("localhost","root","","blogspot"); // Langkah 1. Tentukan batas, cek halaman dan posisi data. $batas = 5; $halaman = @$_GET['halaman']; if(empty($halaman)){ $posisi = 0; $halaman = 1; }else{ $posisi = ($halaman - 1) * $batas; } // Langkah 2. Sesuaikan Query dengan posisi dan batas $paging = mysqli_query($con,"select * from paging limit $posisi,$batas"); echo"<table> <tr> <th>No</th> <th>Nama</th> <th>Alamat</th> </tr>"; $no = 1+$posisi; while($r=mysqli_fetch_array($paging)){ echo"<tr> <td>$no</td> <td>$r[nama]</td> <td>$r[alamat]</td> </tr>"; $no++; } echo"</table>"; // Langkah 3 : Hitung Total data dan halaman serta link 1,2,3.. $paging2 = mysqli_query($con,"select * from paging"); $jmldata = mysqli_num_rows($paging2); $jmlhalaman = ceil($jmldata/$batas); echo"<br \> Halaman : "; for($i=1; $i<=$jmlhalaman; $i++){ if($i != $halaman){ echo"<a href=\"paging.php?halaman=$i\">$i</a> | "; }else{ echo"<b>$i</b> | "; } } echo "<p>Total anggota : <b>$jmldata</b> orang</p>"; ?>
2. Logika skrip :
- Saat skrip pertama kali dijalankan , maka akan dicek terlebih dahulu apakah $halaman kosong ( empty ).
- Apabila halaman masih kosong, maka di set $halaman = 1 dan $posisi = 0. Sedangkan apabila 4halaman tidak kosong, maka berlaku rumus untuk menentukan nilai posisi, yaitu : $posisi = ( $halaman - 1 ) * $batas. Misal berada di halaman 3, maka posisi = ( 3-1)*5 =10, jadi nilai $posisi = 10.
- Pada langka 3 ada skrip ceil( $jmldata/$batas). Fungsi ceil berguna untuk menghasilkan bilangan bulat, dimana apabila hasilnyapecahan, maka akan dibulatkan keatas( tidak perdulli pecahan diatas koma atau dibawah koma ). Misalnya $jmldata =36 dibagi $batas = 5, hasilnya 7,1. Dengan fungsi ceil(36/5) hasilnya 8, maka ada 8 halaman
sumber : www.sks122.blogspot.com