Teknik Paging di PHP



Paging atau penomoran halaman yang Saya maksud disini adalah, membagi setiap data yang ditampilkan perhalaman sesuai dengan keinginan, misalnya ada 8 data, dari 8 data itu kita bisa mengatur perhalamannya untuk ditampilkan 1, 2, 3 dst. Sederhananya kalau diimplementasikan, ini mirip – mirip seperti pembagian (penomoran) halaman pada artikel blog.

Saya akan menjelaskan ini sesuai dengan apa yang saya pahami, kalau keliru mohon untuk diluruskan, agar  tidak terjadi salah paham atau salah dalam memahami. Saya tidak akan langsung memberikan kode, namun akan mencoba terlebih dahulu menjelaskan kode perbarisnya, sehingga nanti bisa paham dengan kode yang dituliskan.

Jadi disini misalnya saya memiliki sebuah tabel siswa yang berisi 8 data, kemudian saya akan menampilkan 4 data per setiap halamannya. Langsung saja kita mulai

Teknik Pagging di PHP
#1 Kita akan buat kondisi awal, query dan ketika terjadi sebuah requet halaman menggunakan GET
 
$awal=0;
$byk_tampil=4;


Maksud kode diatas adalah menentukan kondisi awal bernilai 0 data dan nilai data yang akan ditampilkan perhalamannya adalah sebanyak 4 data

if(isset($_GET['hal'])){
    $awal=$_GET['hal']*$byk_tampil;
}
 
Maksud kode diatas adalah jika terjadi get maka kondisinya akan berubah nilai get dikali jmlh banyak tampil, jika ada 8 data kemudian dibagi empat maka pembagian data akan terbagi dua, 1x4=4, 2x4=8, begitupun jika misal jumlah data ada 16, 1x4=4 2x4=8, 4x3=12, 4x4=16. Dengan catatan, nilai 1 berarti dihitung sebagai 0 dan nilai 2 adalah 1, dan 3 adalah 2, nilai get ini akan merubah nilai variabel $awal pada limit data.

#2Membuat Query dan Limit Data


$perintah="SELECT * FROM tpdb_daftar";

Membuat variabel untuk melimit nilainya sesuai jumlah data yang ingin ditampilkan
 $limit="limit $awal,$byk_tampil"; 

Selanjutnya simpan dalam variabel $per_limit yang juga berisi query data
 $per_limit=sprintf("%s %s",$perintah,$limit);

Query pertama bertuga menampilkan data tanpa melimitnya
 $allquery=mysqli_query($koneksi, $perintah);
 
Perintah selanjutnya adalah query dengan menambahkan limit didalamnya
 $per_laman=mysqli_query($koneksi,$per_limit); 

 Menjumlahkan data kemudian ini nantinya akan dibagi datanya, sehingga query yang dijalankannya pun tidak dilimit
$jumlah=mysqli_num_rows($allquery);

#3 Melakukan Perulangan Untuk Menampilkan Data
Memulai penomoran/pengurutan data dari database, jika $no diaktfikan menggantikan $id maka penomoran data akan dimulai dari angka 1, penomoran ini sama sekali tidak ada hubungannya dengan pagging atau pembagian halaman, tapi mengurutkan hanya mengurutkan data dari nilai 1

$no=$awal+1; //variabel $no yang berarti 0+1
//proses perulang dengan meilimit data sesuai dengan data yang ingin ditampilkan perhalaman
while($data=mysqli_fetch_array($per_laman)){
<tr>
<td><?php echo $data['id'] ?></td>
<td><?php echo $data['nama_siswa'];?></td>
<td><?php echo $data['sekolah'];?></td>
<td><?php echo $data['status_siswa'];?></td>
</tr>
<?php $no+=1;}?>
//selanjutnya berarti 0+1=1, nomor data dimulai dari 1 jika kamu pake variabel $no 

#4 Membuat Pagging atau Penomoran Halaman

Proses pertama membuat variabel untuk url halamannya
$ke="pengumuman";
Ini bisa kita atur nilai variabelnnya jika memang Anda pake pengaturan di httaccess, ini untuk urlnya, bisa saja nilainya berisi $_GET['PHP_SELF']
$page=ceil($jumlah/4);
$jumlah diambil dari query mysqli_num_rows sebelumnya

Selanjutnya buat variabel yang berisi jumlah data yang dibagi, misal 8:8=1 berati jumlah data akan dibagi 8, ini untuk nomor halamannya, jika misal ada 16 data kemudian dibagi 4, maka penomoran halamannya akan dibagi menjadi 4 penomoran, dimana nilai 1 akan dihitung sebagai 0, 2 sebagai 1 dan seterusnya, 

$pg=1;
Buat variabel nilai awalnya

Kemudian lakukan perulangan seperti berikut

while($pg<=$page){
Jika $pg lebih kecil atau sama dengan $page 1=1, misalnya kondisi data disini adalah ada 8,  terus nanti dibagi 4 berarti nilai 2, nah kondisinya nanti berarti 1<=2

$hal=$pg-1;
maka nanti $hal 1-1=0, jika $hal=0 maka ketika request/klik angka 1 di url akan terlihat menjadi data 0

echo " <a href=\"$ke?hal=$hal\">$pg</a>";
Kode diatas akan dimulai request get

$pg+=1;

Selanjutnya perulangan data akan dilakukan sampai kondisi terpenuhi, jika misal kondisinya 8:4=2, maka 1<=2 dan data akan diulang sampai nilai 2, jika misal jmlah datanya 16 maka 16:4=4, maka halaman akan bernilai 1:4, sehingga $pg+ akan diulang sampai 4 penomoran, jika kondisi tidak terpenuhi maka tidak akan ada pengulangan nomor pada halaman

Halaman :<?php echo" $hal dari $page";?>
Maksudnya  nanti akan menerangkan berada di halaman berapa dari  jumlah halaman berapa $hal=$pg-1; (1-1=0)   dan $pg+=1;  (0+=1)

#5 Terkhir
Jika semua kode diatas digabungkan, maka hasilnya kurang lebih akan terlihat seperti berikut ini, contoh :

<?php
//panggil file css dan head yang terpisah
include ('system/inc/head.php');
include ('system/inc/css.php');
include ('system/inc/navi.php');
include('system/conf/psb-koneksi.php');
//kondisi awal
$awal=0;
$byk_tampil=4; //jumlah data yang ditampilan perhalaman

if(isset($_GET['hal'])){
//jika terjadi get maka kondisinya akan berubah nilai get dikali jmlh banyak tampil, jika ada 8 data kemudian dibagi empat maka pembagian data akan terbagi dua, 1x4=4, 2x4=8, begitupun jika misal jumlah data ada 16, 1x4=4 2x4=8, 4x3=12, 4x4=16. Dengan catatan, nilai 1 berarti dihitung sebagai 0 dan nilai 2 adalah 1, dan 3 adalah 2, nilai get ini akan merubah nilai variabel $awal pada limit data. Kalau salah mohon luruskan... heheh
    $awal=$_GET['hal']*$byk_tampil; 
}
$perintah="SELECT * FROM tpdb_daftar";
$limit="limit $awal,$byk_tampil"; //limit nilainya sesuai jumlah data yang ingin ditampilkan
$per_limit=sprintf("%s %s",$perintah,$limit);
$allquery=mysqli_query($koneksi, $perintah); //query utama tanpa melimit data
$per_laman=mysqli_query($koneksi,$per_limit); //query ini jalan di fetch array dan dilimit
$jumlah=mysqli_num_rows($allquery); //pake query utama untuk jumlahin data
?>
<div id="wrapper">
<!-- Main -->
<div id="main">
<div class="container">
<section>
<header class="major">
<h2>Pengumuman</h2>
<p>Siswa yang sudah mendaftar</p>
</header>
<p>Bila Anda sudah mendaftar namun status datanya masih belum diverifikasi, maka harap bersabar, karena kemungkinan belum diverifikasi/diperiksa oleh Panitia PPDB</p>
<div class="table-wrapper">
<table class="alt">
<tr>
<td>No</td>
<td>Nama Siswa</td>
<td>Asal Sekolah</td>
<td>Status Pendaftaran</td>
<td>Print</td>
</tr>
<tbody>
<?php
//memulai penomoran/pengurutan data dari database, jika $no diaktfikan menggantikan $id maka penomoran data akan dimulai dari angka 1
$no=$awal+1; //variabel $no yang berarti 0+1
//proses perulang dengan meilimit data sesuai dengan data yang ingin ditampilkan perhalaman
while($data=mysqli_fetch_array($per_laman)){
?>
<tr>
<td><?php echo $data['id'] ?></td>
<td><?php echo $data['nama_siswa'];?></td>
<td><?php echo $data['sekolah'];?></td>
<td><?php echo $data['status_siswa'];?></td>
<td>
<a href="#" target=_"blank"><i class="fa fa-print fa-fw" alt="print" title="Print"></i></a></td>
</tr>
<?php $no+=1;} //selanjutnya berarti 0+1=1, nomor data dimulai dari 1 jika kamu pake variabel $no ?>
<tfoot>
<tr>
<td colspan="4">Jumlah Pendaftar Saat Ini</td>
<td><?php echo $jumlah ?></td>
</tr>
</tfoot>
</tbody>
</table>
<center>
<?php
//memulai pagging

$ke="pengumuman"; //ini ada pengaturan di httaccess, ini untuk urlnya, bisa saja nilainya berisi $_GET['PHP_SELF']
$page=ceil($jumlah/4); //jumlah data dibagi, misal 8:8=1 berati jumlah data akan dibagi 8, ini untuk nomor halamannya, jika misal ada 16 data kemudian dibagi 4, maka penomoran halamannya akan dibagi menjadi 4 penomoran, dimana nilai 1 akan dihitung sebagai 0, 2 sebagai 1 dan seterusnya
$pg=1;
//sekarang muali perulangan
while($pg<=$page){ //jika $pg lebih kecil atau sama dengan $page 1=1, misalnya kondisi data disini adalah 8 data terus dibagi 4 berarti nilai 2, nah kondisinya nanti berarti 1<=2
$hal=$pg-1; //maka $hal 1-1=0, jika $hal=0 maka ketika request/klik angka 1 di url akan terlihat menjadi data 0
echo " <a href=\"$ke?hal=$hal\">$pg</a>"; //disini akan dimulai request get
//perulangan data akan dilakukan sampai kondisi terpenuhi, jika misal kondisinya 8:4=2, maka 1<=2 dan data akan diulang sampai nilai 2, jika misal jmlah datanya 16 maka 16:4=4, maka halaman akan bernilai 1:4, sehingga $pg+ akan diulang sampai 4 penomoran
    $pg+=1; 
}
?>
<br/>
Halaman :<?php echo" $hal dari $page";?><br/></center>
</div>
</section>
</div>
</div>
<?php
//footer
include('system/inc/footer.php')
?>


Bila berhasil, kurang lebih paging (penomoran halaman) akan terlihat seperti berikut ini, Contoh.

berhasil membuat paging

1 Response to "Teknik Paging di PHP"

  1. Paling gak bisa berurusan dnegan kode dan html, tapi untung sudah bnyk tutorial yang langsung bisa copy ke blog,,
    Seperti cara paging ini sudah jelas bngt tinggal copas saja kodenya

    ReplyDelete

Komentar yang Anda kirim akan terlebih dahulu di moderasi oleh Admin

nagabet76slot gacorslot online1213141516Slot Online Menghadirkan Pengalaman Digital Yang Didukung Pemrosesan Data Secara Real TimeMahjongways Menganalisis Pola Visual Dan Dinamika Simbol Berdasarkan Pemrosesan Data DigitalMahjongways Mengembangkan Dinamika Permainan Melalui Pengelolaan Data Dan Elemen Visual TerintegrasiAnalisis Komputasi Modern Membantu Memetakan Dinamika Sistem Digital Berdasarkan Data ObservasiMember Baru Mendorong Dinamika Komunitas Digital Menuju Pengalaman Yang Lebih Aktif Dan Menarikslot onlinemahjongwayasarsitektur layananpemrosesan data adaptifmember baruSlot Online Terbaru Menghadirkan AnalisisScatter Hitam Dianalisis Melalui PemetaanPola Scatter Hitam Membentuk Distribusi Visual Yang Dapat Dikaji Menggunakan Komputasi AdaptifArsitektur Teknologi TerdistribusiTeknologi Visualisasi DataMahjongways Mengembangkan Interaksi Visual Melalui Integrasi Simbol Digital Yang DinamisAnalisis Mahjongways Memetakan Dinamika Visual Dan Respons Antarmuka Berbasis DataScatter Hitam Dianalisis Melalui Pemetaan Struktur Simbol Digital Berbasis Komputasi AdaptifAlgoritma Scatter Hitam Membantu Mengidentifikasi Dinamika Pola Melalui Analisis Data ObservasiPg Soft Mengembangkan Sistem Rendering Adaptif Untuk Mendukung Visualisasi Digital ModernTeknologi Pg Soft Mengoptimalkan Pemrosesan Grafis Melalui Arsitektur Rendering TerintegrasiTeknologi Pemodelan Data Membantu Menganalisis Dinamika Informasi Pada Ekosistem Digital ModernArsitektur Komputasi Terdistribusi Meningkatkan Keandalan Pengelolaan Data Pada Platform DigitalTeknologi Kecerdasan Komputasional Mendorong Pengembangan Sistem Digital Yang Lebih AdaptifPemrosesan Data Modern Membantu Memetakan Pola Informasi Melalui Pendekatan Komputasi TerukurTeknologi Integrasi Data Mempermudah Sinkronisasi Informasi Dalam Lingkungan Digital TerpaduVisualisasi Komputasi Modern Membantu Menginterpretasikan Perubahan Pola Pada Sistem Digital KompleksTeknologi Otomasi Data Meningkatkan Efisiensi Pengelolaan Informasi Pada Infrastruktur DigitalModel Komputasi Adaptif Mendukung Pengembangan Teknologi Digital Melalui Analisis Data BerkelanjutanPengembangan Pg Soft Mengintegrasikan Teknologi Rendering Dengan Interaksi Visual Yang ResponsifPg Soft Menerapkan Komputasi Visual Untuk Meningkatkan Efisiensi Pengolahan Elemen DigitalEksplorasi Scatter Hitam Memetakan Distribusi Simbol Melalui Model Analitik Digital TerintegrasiPola Scatter Hitam Dikaji Menggunakan Pendekatan Visualisasi Data Dan Pemodelan StatistikMahjongways Menghadirkan Pendekatan Visual Interaktif Melalui Pemrosesan Simbol Yang AdaptifEksplorasi Mahjongways Mengungkap Perubahan Pola Visual Dalam Lingkungan Digital Terintegrasimahjong online muncul dalam laporan seputar perubahan hiburan digitalmedia digital menyoroti perkembangan mahjong online masa kinifenomena mahjong online masuk dalam perbincangan platform modernperubahan tampilan membawa mahjong online ke sorotan media digitalmahjong online dan pergeseran platform menjadi topik pembahasan barucatatan terkini mengulas perjalanan mahjong online di ruang digitalperkembangan teknologi membuat mahjong online kembali dibahas mediaruang digital mengangkat perubahan wajah mahjong online masa kinipembahasan mahjong online meluas bersama perkembangan media digitalsorotan baru muncul seputar mahjong online dan platform interaktifmahjong online dalam kacamata sejarah permainan dan budaya asiasimbol mahjong online menjadi bagian dari identitas visual digitalmahjong online dan perjalanan desain dari sederhana menuju interaktifmengenal mahjong online lewat perubahan simbol warna dan tampilanbudaya populer membawa mahjong online ke percakapan generasi digitalmahjong online dilihat dari sisi teknologi dan kreativitas visualkisah mahjong online di balik perubahan format dan gaya permainanmahjong online masuk ke ruang digital melalui adaptasi visual moderndari tradisi ke teknologi menyusuri jejak mahjong onlinemahjong online dan pertemuan antara warisan klasik dengan kreativitas modernmahjong ways dalam bingkai desain visual dan budaya digitaljejak klasik menemukan bentuk baru melalui mahjong waysmahjong ways dan perjalanan simbol menuju layar interaktif moderncerita visual mengikuti perkembangan mahjong ways di era teknologimahjong ways dilihat dari sisi kreativitas dan identitas platformperubahan tampilan membawa mahjong ways ke perspektif yang berbedamahjong ways dalam percakapan seputar tradisi dan budaya digitaldari konsep lama ke format baru menelusuri mahjong wayssimbol dan tema mengiringi perjalanan mahjong ways di ruang digitalmahjong ways menjadi bagian dari perubahan desain hiburan modernjudi online dalam catatan perubahan budaya digital masa kinipergeseran teknologi membawa judi online ke ruang perbincangan barujudi online dan perubahan pola interaksi di era internetmemahami fenomena judi online dari sisi platform dan media digitalruang digital mengubah cara judi online dibahas di media masa kinijudi online dalam perjalanan perubahan platform dan teknologibudaya internet membentuk percakapan baru seputar judi onlinedari media lama ke platform digital melihat pergeseran judi onlinejudi online dan dinamika perkembangan ruang digital modernperspektif baru mengamati kehadiran judi online di era teknologimahjong dalam jejak sejarah dan perubahan budaya dari masa ke masasimbol mahjong menyimpan cerita di balik desain yang khasmahjong dan perjalanan tradisi menuju perkembangan dunia modernmengenal mahjong lewat simbol strategi dan warisan budayakisah mahjong bertemu dengan kreativitas di tengah era digitalmahjong dalam perspektif seni desain dan identitas visualperjalanan mahjong mengikuti perubahan media dan teknologi modernwarisan klasik mahjong menemukan tafsir baru di era digitalmahjong dan jejak budayanya yang tetap hadir di zaman moderndari tradisi ke layar digital menelusuri perjalanan mahjonggame digital dan perubahan cara orang menikmati hiburan modernlayar interaktif membentuk babak baru dalam perjalanan game digitalgame digital dalam potret kreativitas desain dan teknologi masa kinijejak platform mobile mengikuti perkembangan game digital dari waktu ke waktuketika kreativitas visual bertemu dengan dunia game digitalgame digital dan pergeseran budaya hiburan di era internetdari konsol ke mobile menyusuri perjalanan panjang game digitalcerita di balik desain yang membentuk identitas game digitalgame digital menjadi bagian dari ekosistem kreatif dan teknologiperjalanan game digital melintasi generasi dan perubahan platformgame online dan perubahan kebiasaan di tengah budaya internetkomunitas digital menjadi bagian dari perjalanan game onlinegame online dalam potret interaksi sosial di era platform modernjejak mobile membawa game online ke pengalaman yang semakin beragamketika game online bertemu dengan kreativitas dan komunitas digitalgame online dan pergeseran cara menikmati hiburan interaktifdari komunitas ke platform menyusuri perkembangan game onlinedesain visual membentuk identitas baru dalam dunia game onlinegame online di tengah perubahan teknologi dan budaya populerperjalanan game online mengikuti arah baru ekosistem digitalgame online masuk dalam sorotan media seiring perubahan hiburan digitalperkembangan game online menjadi bahasan di tengah budaya internetberita terkini mengulas pergeseran platform game online masa kinigame online dan perubahan teknologi muncul dalam laporan digitalsorotan media membahas perjalanan game online di era platform modernfenomena game online kembali muncul dalam perbincangan dunia digitalruang media menyoroti perubahan wajah game online dari waktu ke waktuperkembangan platform membawa game online ke percakapan baru di internetgame online menjadi bagian dari liputan seputar budaya digitalcatatan terkini membahas arah baru perkembangan game onlinejudi online kembali menjadi sorotan dalam pemberitaan digital terkinimedia menyoroti perkembangan platform judi online di ruang internetfenomena judi online masuk dalam pembahasan seputar budaya digitalberita terkini mengulas perubahan ekosistem judi online masa kinijudi online dan perkembangan teknologi menjadi bahan perbincangan mediasorotan baru membahas pergeseran perilaku di seputar judi onlineruang digital kembali mengangkat pembahasan tentang judi onlineperkembangan internet membawa judi online ke sorotan media terkinicatatan media mengulas fenomena judi online dari sisi digitalperubahan platform menjadi bahasan baru dalam pemberitaan judi onlinetekanan emosional muncul di tengah kebiasaan judi online yang berulangstres dan judi online menjadi bahasan dalam perubahan kondisi keuanganketika pengeluaran judi online mulai membawa tekanan dalam kehidupanbeban pikiran dapat bertambah seiring kebiasaan judi online berlangsungmasalah keuangan dan stres muncul dalam pembahasan seputar judi onlinejudi online dan tekanan emosional menjadi sorotan di ruang digitaldampak stres mulai dibahas seiring perubahan kebiasaan judi onlinetekanan hidup dan kebiasaan judi online dalam sorotan mediastres finansial menjadi bagian dari pembahasan dampak judi onlinememahami kaitan tekanan emosional dengan kebiasaan judi onlinegame digital mulai masuk dalam sorotan budaya hiburan modernperkembangan game digital menjadi bahasan di tengah perubahan teknologimedia mengulas perjalanan game digital dari konsol menuju platform modernfenomena game digital muncul dalam perbincangan industri hiburangame digital dan perubahan kebiasaan menjadi catatan di era internetsorotan terkini membahas arah baru perkembangan game digitalteknologi interaktif membawa game digital ke percakapan media yang lebih luasgame digital menjadi bagian dari pergeseran budaya hiburan masa kinicatatan media menyoroti perubahan wajah game digital dari waktu ke waktuplatform baru membuka babak berbeda dalam perjalanan game digital