PHP membuat pagination dengan mudah

logo php


Kali ini saya akan membahas mengenai cara membuat pagination pada php . Kali ini saya tidak akan membahas mengenai crud , tetapi saya akan bahas mengenai cara membuat pagination di php . Pagination itu apa sih ? pagination jika saya gambarkan seperti di baigan index blog ada old post dan next post , nah itu pagination .


Manfaatnya apa sih membuat pagination itu ? manfaatnya misal kita memiliki data banyak sekali, misalnya ribuan. Nah ingin ditampilkan data tersebut di semuanya di halaman index.Tentu kalo itu terjadi akan membuat halaman website kita lemot dan tidak ada yang mengujungin halaman website kita . Dengan menggunakan pagination ini kita menampilkan 5 data saja terbaru lalu di bawahnya ada link untuk selanjutnya dan sebelumnya .

Sebelum membuat sebuah pagination kita import saja database milik saya biar cepet, atau kalian siapkan database yang kalian buat sendiri tentapi sudah memiliki data yang banyak .

baca juga cara import dan export database mysql

Langsung saja download database dan import databasenya .Baik jadi nama database kita adalah data wilayah . Yang pertama kita lakukan adalah tentunya mengkoneksikan database . Setelah kita panggil maka kita coba dulu untuk menampilkan semua datanya

<?php
$konek=mysqli_connect("localhost","root","");
$pilih_db=mysqli_select_db($konek,"datawilayah");
$query=mysqli_query($konek,"SELECT * FROM provinsi");
?>
<table border="1px">
<tr>
<td>id provinsi</td>
<td>nama_prov</td>
</tr>
<?php
while($data=mysqli_fetch_array($query)){
?>
<tr>
<td><?php echo $data['id_prov'];?></td>
<td><?php echo $data['nama_prov'];?></td>
</tr>
<?php
}
?>
</table>

Halaman tidak menggunakan paging

Nah sekarang kita selesai untuk menampilkan semua data yang ada didatabase . Sekarang yang kita akan coba adalah membuat data itu otomatis 5 baris satu page . Untuk query adalah 

SELECT * FROM provinsi  limit datakeberapa,berapabanyakdata

Jadi untuk menampilkan sebagian data kita gunakan limit lalu data ke berapa dan berapa banyak data yang akan di ambil . Jadi kalo disana ada pertama dan 5 data, kalo dikita klik selanjutnya maka adan bertambah 5 jadi yang akan di ambil setelah itu data ke 6 adanya ada 5 . Kita akan coba .

<?php 
$konek=mysqli_connect("localhost","root","");
$pilih_db=mysqli_select_db($konek,"datawilayah");
$page=0;
if(isset($_GET['page'])){$page=$_GET['page'];}
$query=mysqli_query($konek,"SELECT * FROM provinsi  limit $page,5");
?>
<table border="1px">
<tr>
<td>id provinsi</td>
<td>nama_prov</td>
</tr>
<?php 
while($data=mysqli_fetch_array($query)){
?>
<tr>
<td><?php echo $data['id_prov'];?></td>
<td><?php echo $data['nama_prov'];?></td>
</tr>
<?php 
}
?>
</table>
<a href="?page=<?php echo $page-5; ?>">Data sebelumnya</a>
<a href="?page=<?php echo $page+5; ?>">Data Selanjutnya</a>

Halaman paging

Saya akan coba jelaskan jadi ketika kita mengklik data selanjutnya maka, pagenya berpindah yaitu data selanjutnya . Bagaimana sih prosesnya . Jadi disana terdapat $page=0 , nah ketika kita mengklik data selanjutnya maka akan mengirim $_GET['page']= yang hasil penjumlahan dari $page yaitu 5 . 



<a href="?page=<?php echo $page+5; ?>">Data Selanjutnya</a>

Setelah mengirim maka akan ada validasi jika $_GET['page'] ada maka $page isinya adalah $_GET['page'] , singkatnya $page sekarang berubah menjadi 5. 

if(isset($_GET['page'])){$page=$_GET['page'];}

Setelah itu maka akan ada query yaitu  pilih semua dari tabel provinsi yang data ke 5 sebanyak 5 data.  

$query=mysqli_query($konek,"SELECT * FROM provinsi  limit $page,5");

Lalu akan menampilkan deh yang data yang selanjutnya . Sekarang kita $page=0 lalu kita mengklik selanjutnya bagaimana yang akan terjadi ? maka akan terjadi error karean kita memiliki data ke -5 sementara data ke -5 itu tidak ada . Jadi kita coba gunakan validasi . 

if(isset($_GET['page'])){
if($_GET['page']<0){
$page=0;
}else{
$page=$_GET['page'];
}
}

Jika page yang dikirim lebih kecil dari 0 maka $page=0 dan jika tidak maka $page=$_GET['page']; . Kita coba edit lagi .


<?php 
$konek=mysqli_connect("localhost","root","");
$pilih_db=mysqli_select_db($konek,"datawilayah");
$page=0;
if(isset($_GET['page'])){
if($_GET['page']<0){
$page=0;
}else{
$page=$_GET['page'];
}
}
$query=mysqli_query($konek,"SELECT * FROM provinsi  limit $page,5");
?>
<table border="1px">
<tr>
<td>id provinsi</td>
<td>nama_prov</td>
</tr>
<?php 
while($data=mysqli_fetch_array($query)){
?>
<tr>
<td><?php echo $data['id_prov'];?></td>
<td><?php echo $data['nama_prov'];?></td>
</tr>
<?php 
}
?>
</table>
<a href="?page=<?php echo $page-5; ?>">Data sebelumnya</a>
<a href="?page=<?php echo $page+5; ?>">Data Selanjutnya</a>


validasi paging

Baik itu dia script yang panjang . Jadi untuk membuat halaman paging di php kita menggunakan query limit . Baik semoga bermanfaat dan sampai jumpa . 


Belum ada Komentar untuk "PHP membuat pagination dengan mudah"

Posting Komentar

Iklan Atas Artikel

Iklan Tengah Artikel 1

Iklan Tengah Artikel 2

Iklan Bawah Artikel