↑ Return to Buku PHP & MySQL

Macam-macam Paging

jenis teknik paging php

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

<?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 "

“;
$no++;
}
echo “

No Nama Alamat
$no $data[nama] $data[alamat]

“;

//Langkah 3: Hitung total data dan halaman serta link 1,2,3 …
echo “
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 " $i | “;
}
else
{
echo ” $i | “;
}
echo “

Total anggota : $jmldata orang

“;
?>

TEKNIK 2 dengan pencarian form :

Isikan Nama :

0){
echo “

“;
$no=$posisi+1;
while ($data=mysql_fetch_array($hasil)){
echo “

“;
$no++;
}
echo “

No Nama Alamat
$no $data[nama] $data[alamat]

“;

echo “
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 " $i | “;
}
else
{
echo ” $i | “;
}
echo “

Ditemukan $jmldata orang yang bernama $nama

“;

}
else{
echo “Tidak ditemukan data yang bernama $nama“;
}
}
?>

TEKNIK 3 dengan tombol next dan previous

<?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 "

“;
$no++;
}
echo “

No Nama Alamat
$no $data[nama] $data[alamat]

“;

//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 “<< First |
< Previous | “;
}
else
{
echo “<< First | < Previous | ";
}

// Tampilkan link halaman 1,2,3 …
$file="paging_3.php";
for($i=1;$i<=$jmlhalaman;$i++)
if ($i != $halaman){
echo " $i | “;
}
else{
echo ” $i | “;
}

// Link kehalaman berikutnya (Next)
if($halaman < $jmlhalaman){
$next=$halaman+1;
echo "Next > |
Last >> “;
}
else{
echo “Next > | Last >>”;
}
echo “

Total anggota : $jmldata orang

“;
?>

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 "

Tentukan Tampilan Data Per Halaman:
“;
for ($i=1;$i<=10;$i++){
$angka=$batasan*$i;
if ($batas==$angka)
echo "$angka”;
else
echo “$angka”;
}
echo “

“;

// 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 “

“;

$no=$posisi+1;
while ($data=mysql_fetch_array($hasil)){
echo “

“;
$no++;
}
echo “

No Nama Alamat
$no $data[nama] $data[alamat]

“;

// Langkah 3: Hitung total data dan halaman serta link 1,2,3 …
echo “
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 " $i | “;
}
else{
echo ” $i | “;
}
echo “

Total anggota : $jmldata orang

“;
?>

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 "

“;

$no=$posisi+1;
while ($data=mysql_fetch_array($hasil)){
echo “

“;
$no++;
}
echo “

No Nama Alamat
$no $data[nama] $data[alamat]

“;

// Langkah 3
$tampil2=”select * from anggota”;
$hasil2=mysql_query($tampil2);
$jmldata=mysql_num_rows($hasil2);
$jmlhalaman=ceil($jmldata/$batas);

$file=”paging_5.php”;
echo “

Halaman: “;
for ($i=1;$i<=$jmlhalaman;$i++){
$awal = (($i*$batas)-$batas+1);
$akhir = $batas*$i;
if ($i==$halaman)
echo "$awal s/d $akhir”;
else
echo ” $awal s/d $akhir
“;
}
echo “

“;

echo “

Total anggota : $jmldata orang

“;
?>

sumber:http://raispunya.blogspot.com/2010/03/jenis-teknik-paging-php.html

Leave a Reply

Your email address will not be published. Required fields are marked *

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>

Captcha Garb (1.5)