Pagination atau paging digunaan untuk menampilkan data beberapa halaman. Misalnya kita memiliki 100 data atau lebih, terasa membosanka jika menampilkanya dalam 1 halaman saja. Untuk mengatasinya kita gunakan pagination, dengan membatasi jumlah data yang akan ditampilkan, misalkan 20 data dalam 1 halaman.
Disini kita akan menampilkan data dari database MySql, sebagai contoh kita buat database dengan nama latihan dan buat tabel mahasiswa dan isi tabelnya seperti gambar berikut:
Selanjutnya buat folder baru di dalam htdocs dengan nama latihan.
Kemudian bual file koneksi.php dan simpan di dalam folder latihan.
koneksi.php
<?php
mysql_pconnect("localhost","root","");
mysql_select_db("latihan");
?>
Baca juga: Membuat Koneksi Database MySQL dengan PHP
Lngkah selanjutnya menampilkan data dan membuat pagination
Kemudian coba dijalankan denga url:localhost/latihan/data_mahasiswa.php
Silahkan dicoba, dipahami, dan diotak-atik. Bisa ditambahkan css nya juga
Jika ada yang urang jelas atau ada masukan silahkan tinggalkan komen dibawah.
Terima kasih,,
Semoga bermanfaat...
Lngkah selanjutnya menampilkan data dan membuat pagination
data_mahasiswa.php
<?php
require_once("koneksi.php");//memanggil file oneksi.php
$dataperhalaman=5;//batas data yang akan ditampilkan dalam 1 halaman
if(isset($_GET['halaman'])){ //memeriksa apakah variabel halaman apakah sudah terkirim
$nomorhalaman=$_GET['halaman']; //jika variabel halaman sudah terkirim
}else{
$nomorhalaman=1;//jika variabel halaman belum terkirim
}
$mulai=($nomorhalaman-1)*$dataperhalaman;//untuk menentukan baas awal data yang akan ditampilkan
$query=mysql_query("select * from mahasiswa limit $mulai,$dataperhalaman");//untuk mengambil data dari mysql
$row=mysql_fetch_assoc($query);//menyimpan data dalam row
$jumlahdata=mysql_num_rows($query);//menghitung jumlah barih dari record/data
?>
<!DOCTYPE html>
<html>
<head>
<title></title>
</head>
<body>
<table border="1" cellspacing="0" cellpadding="5">
<thead>
<th>ID</th>
<th>NAMA</th>
</thead>
<?php
if($jumlahdata > 0){ //memeriksa apakah jumlah baris lebih dari 0
do{
?>
<tr>
<td><?php echo $row['id'] ?></td>
<td><?php echo $row['nama'] ?></td>
</tr>
<?php
}while($row=mysql_fetch_assoc($query));
}
?>
</table>
<?php
$query2=mysql_query("select * from mahasiswa");//mengambil seluruh data untuk menampilkan pagination
$jumlahdata2=mysql_num_rows($query2);//menghitung jumlah barih dari record/data untuk pagination
$jumlahhalaman=ceil($jumlahdata2/$dataperhalaman);
if($nomorhalaman>1){
echo "<a href='data_mahasiswa.php?halaman=".($nomorhalaman-1)."'>Sebelumnya</a>";
//jika halaman lebih dari 1 akan muncul dan jika di klik akan menuju ke halaman sebelumnya
}
for($page=1;$page<=$jumlahhalaman;$page++){
echo "<a href='data_mahasiswa.php?halaman=".$page."'>".$page."</a>";
}
if($nomorhalaman<$jumlahhalaman){
echo "<a href='data_mahasiswa.php?halaman=".($nomorhalaman-1)."'>Selanjutnya</a>";
//jika halaman sama dengan halaman terakhin akan hilang , jika di klik akan menuju ke halaman selanjutnya
}
?>
</body>
</html>
Kemudian coba dijalankan denga url:localhost/latihan/data_mahasiswa.php
Silahkan dicoba, dipahami, dan diotak-atik. Bisa ditambahkan css nya juga
Jika ada yang urang jelas atau ada masukan silahkan tinggalkan komen dibawah.
Terima kasih,,
Semoga bermanfaat...