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', [email protected]'),
(2, 'hadi', '76671d4b83f6e6f953ea2dfb75ded921', 'Hadi prawira', [email protected]'),
(3, 'santi', 'ae1d4b431ead52e5ee1788010e8ec110', 'Santi Aja', [email protected]'),
(4, 'wulan', 'aae79912250d18756900f742270de7e1', 'wulandari', [email protected]');

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>&laquo; 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 &raquo;</b></font></a>";
                }
            } else {
                $hal++;
                $awal+=$jml;
                $this->anchor .="<a href=".$this->lnk."?mulai=$awal&hal=".$hal."><font color=\"#000000\"><b>next &raquo;</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