Rabu, 16 Februari 2011

Memahami paging sederhana dengan PHP

Ketika gogling penulis sering menjumpai beberapa website yang memiliki paging yang bener-bener bagus, yang membuat penulis tergoda untuk membuatnya.Sebelumnya, bagi yang belum tahu apa sich paging itu ???... Begini, intinya paging merupakan sebuah teknik dalam pemrograman web untuk menampilkan data yag terdiri dalam beberapa halaman dikarenakan banyaknya data yang akan ditampilkan. Kalo masih belom ngerti..biasanya ada navigasi berupa angka di bagian bawah data, kurang lebih seperti ini : Prev - 1 -2 – 3 – Next… untuk lebih jelasnya liat pada gambar dibawah ini…ini contoh paging yang ada pada google…

google





Dalam tutorial kali ini saya akan memberikan source code bagaimana membuat sebuah paging yang sederhana. Jadi, sebelum lebih mengenal jauh bagaimana cara membuat paging seperti gambar di atas, ada baiknya jika kita terlebih dahulu membuat paging tanpa style, hal ini penting agar kita bisa lebih mengerti bagaimana membuat sebuah paging.

<center><table border="1"  cellpadding='4' cellspacing='1'><tr><th>NO</<th><th>NIP</th><th>NAMA</th></tr>
<?php
    mysql_connect("localhost","root","root");
    mysql_select_db("dbpesantren");

    // Langkah 1 tentukan batas, cek halaman & posisi data
    $batas = 4;
    $halaman = $_GET['halaman'];
    if (empty ($halaman)){
        $posisi = 0;
        $halaman = 1;
    }  else {
        $posisi = ($halaman - 1) * $batas;
    }

    // Langkah 2 Sesuaikan perintah SQL
    $tampil = "SELECT * FROM keluarga_pegawai LIMIT $posisi, $batas";
    $hasil = mysql_query($tampil);
    
    $no = $posisi + 1;
    while($r=  mysql_fetch_array($hasil)){
        echo "<tr><td>$no</td><td>$r[nip]</td><td>$r[nama_keluarga_pegawai]
              </td></tr>";
        $no++;
    }
    echo "</table><br />";
    //echo "SELECT * FROM keluarga_pegawai LIMIT $posisi, $batas, $halaman";
    // Langkah 3 hitung total data dan halaman
    $tampil2 = mysql_query("SELECT * FROM keluarga_pegawai");
    $jmlData = mysql_num_rows($tampil2);
    $jmlHal = ceil($jmlData/$batas);

    //Link ke halaman sebelumnya (Prev)
    if ($halaman > 1){
        $prev = $halaman - 1;
        echo "<a href=$_SERVER[PHP_SELF]?halaman=$prev><< Prev </a>";
    }  else {
        echo "<< Prev";
    }

    //Tampilkan link halaman 1,2,3,...
    for($i=1;$i<=$jmlHal;$i++){
        if ($i != $halaman){
            echo "<a href=$_SERVER[PHP_SELF]?halaman=$i>| $i | </a>";
        }  else {
            echo " $i ";
        }
    }

    //Link ke halaman berikutnya (Next)
    if ($halaman < $jmlHal){
        $next = $halaman + 1;
        echo "<a href=$_SERVER[PHP_SELF]?halaman=$next> | Next >></a>";
    }else{
        echo "Next >> </center>";
    }
?>


Setelah skrip dijalankan hasilnya akan seperti gambar dibawah ini.


Download file pdf   disini