Cara Paling Mudah Simple Membuat Paging di PHP
Tutorial kali ini admin akan memberikan tutorial Cara Paling Mudah dan Simple dalam membuat pagination page dengan PHP , Jika pada artikel sebelumnya admin memang sudah menjelaskan Tutorial membuat Paging dengan PHP mysql ,. namun kali ini cukup berbeda, karena script source code paging ini cukup simple dan mudah untuk dipelajari.
Cara Mudah membuat Paging dengan PHP
Ok.. tidak usah panjang lebar lagi.. langsung saja kita praktek membuat nomor halaman / paging dengan PHP :
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 <?php echo $page;?> dari <?php echo $jumlah_hal;?><br />
<a href="?page=1"><<</a> <a href="?page=<?php echo $sebelum; ?>">< sebelumnya</a>
||
<a href="?page=<?php echo $lanjut;?>">selanjutnya ></a> <a href="?page=<?php echo $jumlah_hal;?>">>></a>
Ke Halaman: <form action="" method="get"><input type="text" name="page"><input type="submit" value="Go"></form>
Tampilan sangat sederhana seperti berikut :
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:
<?php
function paging($sql,$item_per_page){
$page = isset($_GET['page']) ? $_GET['page'] : 1 ; // halaman adalah didapat dari GET page. Jika tidak ada ya berarti halaman satu
if( ( $page < 1) && (empty( $page ) ) ){
$page=1;
}
$query = mysql_query( $sql );
$jumlah_data = mysql_num_rows($query);
$jumlah_hal = ceil( $jumlah_data/$item_per_page );
if( $page>$jumlah_hal ){
$page=$jumlah_hal;
}
$lanjut = $page + 1;
$sebelum = $page - 1;
?>
Anda ada di halaman <?php echo $page;?> dari <?php echo $jumlah_hal;?><br />
<a href="?page=1"><<</a> <a href="?page=<?php echo $sebelum; ?>">< sebelumnya</a>
||
<a href="?page=<?php echo $lanjut;?>">selanjutnya ></a> <a href="?page=<?php echo $jumlah_hal;?>">>></a>
Ke Halaman: <form action="" method="get"><input type="text" name="page"><input type="submit" value="Go"></form>
<?php
}
?>
Selanjutnya contoh perhalamannya akan seperti berikut:
<table>
<tr><th>NIP</th><th>Nama</th><th>HONOR</th><th>Status Ambil</th></tr>
<?php
include "paging.php";
$sql = "SELECT * FROM `pegawai`";
$item_per_page = 2;
paging( $sql,$item_per_page );
$batas = ($page - 1) * $item_per_page;
$sql_ = "SELECT * FROM `pegawai` ORDER BY `nip` DESC LIMIT $batas, $item_per_page";
$query_ = mysql_query( $sql_ );
while( $ret = mysql_fetch_array( $query_ ) ){
?>
<tr>
<td><?php echo $ret['nip'];?></td>
<td><?php echo $ret['nama'];?></td>
<td><?php echo $ret['honor'];?></td>
<td><?php echo $ret['status_ambil'];?></td>
</tr>
<?php
}
?>
OK.. silahkan berkreasi.. dan kembangkan lagi