Ada beberapa dari teman bertanya bagaimana cara membuat Paging yang mudah untuk diterapkan di berbagai website, Jawabnya sih simple saja sebenarnya Cukup membuat 1 buah class yang mengatur pembuatan Pagination caranya bagaimana? Mari kita belajar membuatnya pada artikel kali ini.
Buat database dahulu :
CREATE TABLE IF NOT EXISTS `member` (
`ID_MEMBER` int(11) NOT NULL AUTO_INCREMENT,
`USERNAME` varchar(20) NOT NULL,
`PASSWORD` char(32) NOT NULL,
`NAMA_MEMBER` varchar(50) NOT NULL,
`EMAIL` varchar(75) NOT NULL,
PRIMARY KEY (`ID_MEMBER`)
) ENGINE=MyISAM DEFAULT CHARSET=latin1 AUTO_INCREMENT=5 ;
—
— Dumping data for table `member`
—
INSERT INTO `member` (`ID_MEMBER`, `USERNAME`, `PASSWORD`, `NAMA_MEMBER`, `EMAIL`) VALUES
(1, ‘harun’, ‘6a144723835bf8d2ca3241a6535d3cff’, ‘Harun’, ‘harun@yahoo.co.id’),
(2, ‘hadi’, ‘76671d4b83f6e6f953ea2dfb75ded921’, ‘Hadi prawira’, ‘hadi.prawira@gmail.com’),
(3, ‘santi’, ‘ae1d4b431ead52e5ee1788010e8ec110’, ‘Santi Aja’, ‘santi.cut3s@yahoo.com’),
(4, ‘wulan’, ‘aae79912250d18756900f742270de7e1’, ‘wulandari’, ‘wulan@yahoo.com’);
Buat koneksi ke databasenya [koneksi.php] :
$dbname = "cb_paging"; // database name
$dbhost = "localhost"; // database host (usually ‘localhost’)
$dbuser = "root"; // database username
$dbpass = "toor"; // database password
$conn = mysql_connect($dbhost, $dbuser, $dbpass) or die (‘Tidak terkoneksi ke Database’);
$db = mysql_select_db($dbname, $conn)or die (‘Tidak menemukan Nama Database ‘.$dbname.’.’);
Buat Class untuk Pagination :
class pagination {
var $anchor, $query, $lnk;
/**
*
* @param String $sql query sql
* @param Int $limit limit maximal per halaman
* @param String $link link tujuan
*/
function paging($sql,$limit=’10’) {
global $db, $set;
$mulai = (int)$_GET[‘mulai’];
$hal = (int)$_GET[‘hal’];
$jml= $limit;
$jmlrec = mysql_num_rows(mysql_query($sql));
$jmlhal = intval($jmlrec/$jml);
if ($jmlrec%$jml>0) {
$jmlhal+=1;
}
$batasku = $jmlhal-1;
if (!$hal) {
$hal=1;
$mulai=0;
}
$awal=$mulai;
$sql .= " LIMIT $awal, $jml";
$this->query = $sql;
$this->anchor ="Page <b>$hal</b> of <b>$jmlhal</b> | ";
if ($jmlhal>1) {
if ($hal>1) {
$hal–;
$awal-=$jml;
$this->anchor .="<a href=".$this->lnk."?mulai=$awal&hal=".$hal."><font color="#000000"><b>« previous</b></font></a>";
if ($hal++<$batasku) {
$hal+=1;
$awal+=$jml;
$awal+=$jml;
$this->anchor .=" | <a href=".$this->lnk."?mulai=$awal&hal=".$hal."><font color="#000000"><b>next »</b></font></a>";
}
} else {
$hal++;
$awal+=$jml;
$this->anchor .="<a href=".$this->lnk."?mulai=$awal&hal=".$hal."><font color="#000000"><b>next »</b></font></a>";
}
}
}
}
Buat file index.php :
<?php
error_reporting(E_ALL ^ E_NOTICE);
include "koneksi.php";
include "class.pagination.php";
$page = new pagination(); // deklarasi nama class pagination
?>
<table border="0" celpadding="2" cellspacing="2">
<tr>
<th>Username</th>
<th>Nama member</th>
<th>Email</th>
</tr>
<?php
$page->lnk = "http://".$_SERVER[‘SERVER_NAME’]."/Campur/paging/"; // ubah sesuaikan dengan Nama Domain misal http://localhost/paging/
$sql = "SELECT * from member order by id_member desc";
$page->paging($sql, 3);
$query = mysql_query($page->query);
while($data = mysql_fetch_array($query)){
?>
<tr>
<td><?php echo $data[USERNAME]; ?></td>
<td><?php echo $data[NAMA_MEMBER]; ?></td>
<td><?php echo $data[EMAIL]; ?></td>
</tr>
<?php
}
?>
</table>
<?php echo $page->anchor;?> // Tampilkan Pagination
Bagaimana Rapi bukan codenya…. pada file index.php
Saya jelaskan sedikit tentang cara kerja Class yang saya buat
$page->lnk = "http://".$_SERVER[‘SERVER_NAME’]."/Campur/paging/"; <— digunakan untuk link yang akan di pakai saat klik tombol Next
$page->paging($sql, 3); <– untuk menentukan banyak baris data yang akan di tampilkan disini saya setting 3 baris
$query = mysql_query($page->query); <– Cari data yang akan di tampilkan
$page->anchor <–Varibel yang bertugas untuk Menampilkan Pagination
Anda bisa menggunakan Class ini diwebsite pribadi atau biasanya lebih cocok digunakan pada Website Mobile version karena kesederhanaan paging.
Download
Semoga Bermanfaat