Mudah membuat paging

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>&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

About Administrator

2016-01-12 10:32:36 2016-01-12 14:33:42

Check Also

Apa itu Kecerdasan Buatan (Artificial Intelligence, AI)?

Kecerdasan Buatan (Artificial Intelligence, AI) adalah bidang ilmu komputer yang berfokus pada pengembangan sistem komputer …

Tinggalkan Balasan

Translate »
error: Konten dilindungi !!