Selasa, Desember 23, 2008

Pagination


Pagination ( Paging/Paginate ) adalah teknik untuk membatasi data yang akan ditampilkan dalam suatu halaman web.

Biasanya paging digunakan untuk menampilkan data yang banyak. pernahkah kamu membayangkan sebuah buku setebal 200 halaman tanpa di buat perhalaman/dalam satu halaman sekaligus ?

langkah pertama yang harus kamu lakukan adalah membuat database dengan nama "nunu" dan setelah itu membuat tabel dengan nama "paginga" dan formatnya seperti di bawah ini :



`id_buku` int(4) NOT NULL auto_increment,
`judul` varchar(50) NOT NULL,
`kategori` varchar(50) NOT NULL,
PRIMARY KEY (`id_buku`)

Insert data minimal sebelas item

Setelah itu buat halaman dengan nama paging.php dan ketikkan script di bawah ini :


<html>

<head>

<link href="style.css" rel="stylesheet" type="text/css">

</head>

<body>

<table align="'center'"><tr><th>No</th><th>Judul</th><th>Kategori</th></tr>

<?

mysql_connect("localhost","root","");

mysql_select_db("nunu");

//Tentukan batas, cek halaman dan posisi data

$batas=5;

$halaman=$_GET['halaman'];

if(empty($halaman)){

$posisi=0;

$halaman=1;

}

else{

$posisi = ($halaman-1) * $batas;

}

$tampil="select * from paginga limit $posisi,$batas";

$hasil=mysql_query($tampil);


$no=$posisi+1;

while ($data=mysql_fetch_array($hasil)){

echo "

<tr>

<td align="'center'">$no</td>

<td>$data[1]</td>

<td>$data[2]</td>

</tr>";

$no++;

}

echo"<tr><td colspan="'3'">";

//Hitung total data dan halaman

$tampil2="select * from paginga";

$hasil2=mysql_query($tampil2);

$jmldata=mysql_num_rows($hasil2);
$jmlhalaman=ceil($jmldata/$batas);
// Link ke halaman sebelumnya
if($halaman > 1){

$sebelumnya=$halaman-1;

echo "<a href="$file?halaman="1"><<> |

<a href="$file?halaman="$sebelumnya"><> | ";

}

else

{

echo "<< Awal | < Sebelumnya | ";

}


//Tampilkan link halaman

$file="paging.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 selanjutnya

if($halaman < $jmlhalaman){

$selanjutnya=$halaman+1;

echo "<a href="$file?halaman="$selanjutnya">Selanjutnya ></a> |

<a href="$file?halaman="$jmlhalaman">Akhir >></a> ";

}

else{

echo "Selanjutnya > | Akhir >>";

}

echo "<p align="'right'">Total Buku : <b>$jmldata</b> Item</p></td></tr></table>";

?>

</body>

</html>






Silakan download scriptnya :

Mirror 1