kamu sedang belajar teknik paging, dan susah banget nulis nya, dan tak mau ribet banget, neh saya kaseh semua contoh teknik paging dari yang pemula sampai master. ini teknik saya dapet dari mas lukmanul hakim dalam buku nya Membongkar Trik Rahasia Para Master PHP dari loko media.
dan saya meletakkan kode ini agar saya sendiri tidak lupa dan bisa di pakai lagi kalau diperlukan. kalau mau donwload nanti baca aja dulu.
berikut kode untuk sql nya :
nama database nya : pintar
CREATE TABLE `anggota` (
`id_ang` int(3) NOT NULL auto_increment,
`nama` varchar(50) collate latin1_general_ci NOT NULL,
`alamat` varchar(100) collate latin1_general_ci NOT NULL,
PRIMARY KEY (`id_ang`)
) ENGINE=MyISAM DEFAULT CHARSET=latin1 COLLATE=latin1_general_ci AUTO_INCREMENT=40 ;
--
-- Dumping data for table `anggota`
--
INSERT INTO `anggota` (`id_ang`, `nama`, `alamat`) VALUES
(1, 'Lukmanul Hakim', 'Yogyakarta'),
(2, 'Siti Mutmainah', 'Belitung'),
(3, 'Beauty Khuluqiyah', 'Banjarmasin'),
(4, 'Gelora Mahardika', 'Jakarta'),
(5, 'Clara Erika', 'Magelang'),
(6, 'Gita Indah Purnama', 'Surabaya'),
(7, 'Aji Pratama Putra', 'Surakarta'),
(8, 'Ririn Restu Amalia', 'Makasar'),
(9, 'Bangkit Prasetya Adi', 'Balikpapan'),
(10, 'Ikrima Mailani', 'Bandung'),
(11, 'Frita Faramita', 'Semarang'),
(12, 'Syalasiria Djuria', 'Medan'),
(13, 'Kanzul Firdaus', 'Manado'),
(14, 'Ririn Dwi Ariyanti', 'Lampung'),
(15, 'Mayadah Samarawati', 'Bali'),
(16, 'Ririn Nurul Hidayati', 'Palembang'),
(17, 'Brama Surya Kumbara', 'Malang'),
(18, 'Uspal Jandevi', 'Pekan Baru'),
(19, 'Ririn Elok Puspasari', 'Jepara'),
(20, 'Yunia Ervina', 'Bogor'),
(21, 'Hunter Pandega', 'Klaten'),
(22, 'Adamono Awamiti', 'Boyolali'),
(23, 'Muren Herdigenarosa', 'Palu'),
(24, 'Ririn Yusma Adelia', 'Tangerang'),
(25, 'Purnama Sahara', 'Cirebon'),
(26, 'Bryan Hartomo', 'Cilacap'),
(27, 'Ririn Fawzia Agustina', 'Padang'),
(28, 'Lubsir Munir', 'Pontianak'),
(29, 'Ariandra Satria', 'Temanggung'),
(30, 'Ruhul Ulya', 'Bekasi'),
(31, 'Lusiana Rustandika', 'Sleman'),
(32, 'Qori Adzani', 'Depok'),
(33, 'Azwin Yuda Himawan', 'Bima'),
(34, 'Septiana Prihastantri', 'Bangka'),
(35, 'Dwi Kusuma Wardhana', 'Sragen');
TEKNIK 1 paging dengan tabel
<table>
<tr><th>No</th><th>Nama</th><th>Alamat</th></tr>
<?php
mysql_connect("localhost","root","root");
mysql_select_db("pintar");
//Langkah 1: Tentukan batas,cek halaman & posisi data
$batas = 5;
$halaman = $_GET['halaman'];
if(empty($halaman)){
$posisi=0;
$halaman=1;
}
else{
$posisi = ($halaman-1) * $batas;
}
//Langkah 2: Sesuaikan perintah SQL
$tampil="select * from anggota limit $posisi,$batas";
$hasil=mysql_query($tampil);
$no=$posisi+1; // Agar angka (penomoran) mengikuti paging
while ($data=mysql_fetch_array($hasil)){
echo "<tr><td>$no</td><td>$data[nama]</td><td>$data[alamat]</td></tr>";
$no++;
}
echo "</table>";
//Langkah 3: Hitung total data dan halaman serta link 1,2,3 ...
echo "<br>Halaman : ";
$file="paging_1.php";
$tampil2="select * from anggota";
$hasil2=mysql_query($tampil2);
$jmldata=mysql_num_rows($hasil2);
$jmlhalaman=ceil($jmldata/$batas);
for($i=1;$i<=$jmlhalaman;$i++)
if ($i != $halaman)
{
echo " <a href=$_SERVER[PHP_SELF]?halaman=$i>$i</A> | ";
}
else
{
echo " <b>$i</b> | ";
}
echo "<p>Total anggota : <b>$jmldata</b> orang</p>";
?>
TEKNIK 2 dengan pencarian form :
<form method=get action=paging_2.php>
Isikan Nama : <input type=text name="nama">
<input type=submit name=oke value=Cari>
</form>
<?php
mysql_connect("localhost","root","root");
mysql_select_db("pintar");
$oke=$_GET['oke'];
if ($oke=='Cari'){
$batas=5;
$halaman=$_GET['halaman'];
if(empty($halaman)){
$posisi=0;
$halaman=1;
}
else{
$posisi = ($halaman-1) * $batas;
}
$nama=$_GET['nama'];
$tampil="select * from anggota where nama like '%$nama%' limit $posisi,$batas";
$hasil=mysql_query($tampil);
$jumlah=mysql_num_rows($hasil);
if ($jumlah > 0){
echo "<table>
<tr><th>No</th><th>Nama</th><th>Alamat</th></tr>";
$no=$posisi+1;
while ($data=mysql_fetch_array($hasil)){
echo "<tr><td>$no</td><td>$data[nama]</td><td>$data[alamat]</td></tr>";
$no++;
}
echo "</table>";
echo "<br>Halaman : ";
$file="paging_2.php";
$tampil2="select * from anggota where nama like '%$nama%'";
$hasil2=mysql_query($tampil2);
$jmldata=mysql_num_rows($hasil2);
$jmlhalaman=ceil($jmldata/$batas);
for($i=1;$i<=$jmlhalaman;$i++)
if ($i != $halaman)
{
echo " <a href=$file?halaman=$i&nama=$nama&oke=$oke>$i</A> | ";
}
else
{
echo " <b>$i</b> | ";
}
echo "<p>Ditemukan <b>$jmldata</b> orang yang bernama <b>$nama</b></p>";
}
else{
echo "Tidak ditemukan data yang bernama <b>$nama</b>";
}
}
?>
TEKNIK 3 dengan tombol next dan previous
<table><tr><th>No</th><th>Nama</th><th>Alamat</th></tr>
<?php
mysql_connect("localhost","root","root");
mysql_select_db("pintar");
//Langkah 1: Tentukan batas,cek halaman & posisi data
$batas=5;
$halaman=$_GET['halaman'];
if(empty($halaman)){
$posisi=0;
$halaman=1;
}
else{
$posisi = ($halaman-1) * $batas;
}
//Langkah 2: Sesuaikan perintah SQL
$tampil="select * from anggota limit $posisi,$batas";
$hasil=mysql_query($tampil);
$no=$posisi+1;
while ($data=mysql_fetch_array($hasil)){
echo "<tr><td>$no</td><td>$data[nama]</td><td>$data[alamat]</td></tr>";
$no++;
}
echo "</table><br>";
//Langkah 3: Hitung total data dan halaman
$tampil2="select * from anggota";
$hasil2=mysql_query($tampil2);
$jmldata=mysql_num_rows($hasil2);
$jmlhalaman=ceil($jmldata/$batas);
// Link ke halaman sebelumnya (previous)
if($halaman > 1){
$previous=$halaman-1;
echo "<A HREF=$file?halaman=1><< First</A> |
<A HREF=$file?halaman=$previous>< Previous</A> | ";
}
else
{
echo "<< First | < Previous | ";
}
// Tampilkan link halaman 1,2,3 ...
$file="paging_3.php";
for($i=1;$i<=$jmlhalaman;$i++)
if ($i != $halaman){
echo " <a href=$file?halaman=$i>$i</A> | ";
}
else{
echo " <b>$i</b> | ";
}
// Link kehalaman berikutnya (Next)
if($halaman < $jmlhalaman){
$next=$halaman+1;
echo "<A HREF=$file?halaman=$next>Next ></A> |
<A HREF=$file?halaman=$jmlhalaman>Last >></A> ";
}
else{
echo "Next > | Last >>";
}
echo "<p>Total anggota : <b>$jmldata</b> orang</p>";
?>
TEKNIK 4 paging dengan teknik combo bok
<?php
mysql_connect("localhost","root","root");
mysql_select_db("pintar");
$batasan=5; // nilai awal utk kelipatan 5
$file="paging_4.php";
$angka=$_GET['angka'];
$batas=$_GET[batas]; // limit yang dinamis
$halaman=$_GET['halaman'];
if(empty($halaman)){
$posisi=0;
$halaman=1;
}
else{
$posisi = ($halaman-1) * $batas;
}
echo "<form method=get action='$file'>
<input type=hidden name=halaman value=$halaman>
Tentukan Tampilan Data Per Halaman:
<select name=batas onChange='this.form.submit()'>";
for ($i=1;$i<=10;$i++){
$angka=$batasan*$i;
if ($batas==$angka)
echo "<option value=$angka selected>$angka</option>";
else
echo "<option value=$angka>$angka</option>";
}
echo "</select></form>";
// Langkah 1
if(empty($batas)){
$batas=$batasan;
}
else{
$batas=$batas;
}
// Langkah 2: Sesuaikan perintah SQL
$tampil="select * from anggota limit $posisi,$batas";
$hasil=mysql_query($tampil);
echo "<table>
<tr><th>No</th><th>Nama</th><th>Alamat</th></tr>";
$no=$posisi+1;
while ($data=mysql_fetch_array($hasil)){
echo "<tr><td>$no</td><td>$data[nama]</td><td>$data[alamat]</td></tr>";
$no++;
}
echo "</table>";
// Langkah 3: Hitung total data dan halaman serta link 1,2,3 ...
echo "<br>Halaman : ";
$tampil2="select * from anggota";
$hasil2=mysql_query($tampil2);
$jmldata=mysql_num_rows($hasil2);
$jmlhalaman=ceil($jmldata/$batas);
for($i=1;$i<=$jmlhalaman;$i++)
if ($i != $halaman){
echo " <a href=$file?halaman=$i&batas=$batas>$i</A> | ";
}
else{
echo " <b>$i</b> | ";
}
echo "<p>Total anggota : <b>$jmldata</b> orang</p>";
?>
TEKNIK 5 menggunakan batas dengan combo bok
<?php
mysql_connect("localhost","root","root");
mysql_select_db("pintar");
// Langkah 1
$batas=5;
$halaman=$_GET['halaman'];
if(empty($halaman)){
$posisi=0;
$halaman=1;
}
else{
$posisi = ($halaman-1) * $batas;
}
// Langkah 2: Sesuaikan perintah SQL
$tampil="select * from anggota limit $posisi,$batas";
$hasil=mysql_query($tampil);
echo "<table>
<tr><th>No</th><th>Nama</th><th>Alamat</th></tr>";
$no=$posisi+1;
while ($data=mysql_fetch_array($hasil)){
echo "<tr><td>$no</td><td>$data[nama]</td><td>$data[alamat]</td></tr>";
$no++;
}
echo "</table>";
// Langkah 3
$tampil2="select * from anggota";
$hasil2=mysql_query($tampil2);
$jmldata=mysql_num_rows($hasil2);
$jmlhalaman=ceil($jmldata/$batas);
$file="paging_5.php";
echo "<form method=get action='$file'>
Halaman: <select name=halaman onChange='this.form.submit()'>";
for ($i=1;$i<=$jmlhalaman;$i++){
$awal = (($i*$batas)-$batas+1);
$akhir = $batas*$i;
if ($i==$halaman)
echo "<option value=$i selected>$awal s/d $akhir</option>";
else
echo "<option value=$i> $awal s/d $akhir <br></option>";
}
echo "</select></form>";
echo "<p>Total anggota : <b>$jmldata</b> orang</p>";
?>
semoga sangat bermanfaat kalau tidak mengerti kalian beli aja buku nya (bukan promosi).
kalau tidak mau ribet neh download gan
10 Manfaat Puasa Bagi Kesehatan
10 tahun yang lalu
6 Response to "jenis teknik paging php"
Oke trima kasih dah download dan skript nya jalan mulus dikompiku
makasih Gan artikelnya bagus, mau tanya disini agan menjelaskan paging dengan query 1 tabel. nah saya kesulitan untuk melakukan paging dengan query 2 tabel.
misalkan querynya begini >>
"SELECT anggota.id_jabatan, anggota.nama_anggota, jabatan.id_jabatan, jabatan.gaji, jabatan.keterangan FROM anggota, jabatan WHERE anggota.id_jabatan = jabatan.id_jabatan"
mantap mas...
saya belajar banyak...:)
ini saya sedang belajar..
nice coding gan :)
ma'kasih brow tutornya . . . . .
nice gan artikelnya
nie juga ada teknik paging yang simple
http://sks122.blogspot.co.id/2015/10/tiga-langkah-mudah-menerapkan-paging.html
Posting Komentar