Membuat paging dengan combo box

Membuat paging dengan combo box

Sebelumnya saya menulis tentang bagaimana membuat paging sederhana dalam php dengan cara menampilkan nomor halaman sebagai pilihan halamanya. Dengan cara tersebut untuk kasus data yang sedikit tidak bemasalah karena pilihan halaman tentunya juga sedikit, akan tetapi pada kasus data yang banyak mungkin ribuan bahkan lebih akan bermasalah karena pilihan halaman akan sangat banyak. Ada beberapa alternatif agar lebih mudah, salah satunya dengan membuat pilihan halaman dalam list/menu atau yang sering disebut combo box.

Oke langsung saja, mungkin anda sudah bisa memahami ya kenapa saya membahas paging lagi tapi dengan cara berbeda. Yang belum "mudeng" coba liat gambar berikut :

Cara Paging sederhana

cara paging dasar

Script bagian navigasi halamanya sepeti berikut :

$query   = "SELECT COUNT(nim) AS numrows FROM $tablename";
$result  = mysql_query($query) or die('Error, query failed. ' . mysql_error());
$row     = mysql_fetch_array($result, MYSQL_ASSOC);
$numrows = $row['numrows'];
$maxPage  = ceil($numrows/$rowsPerPage);
$nextLink = ' ';
if($maxPage >1)
{
   $self     = $_SERVER['PHP_SELF'];
   $nextLink = array();
   for($page = 1; $page <= $maxPage; $page++)
   {
      $nextLink[] =  "<a href=\"".$baselink."?page=$page\">$page</a>";
   }
   $nextLink = "<p>Halaman : </p>" . implode(' ', $nextLink);
}
echo '<div id="navpage">'.$nextLink.'</div>';

Cara Paging dengan combo box

cara paging dengan combo box

Sedangan script untuk membuat paging combobox dengan cara :

$query   = "SELECT COUNT(nim) AS numrows FROM $tablename";
$result  = mysql_query($query) or die('Error, query failed. ' . mysql_error());
$row     = mysql_fetch_array($result, MYSQL_ASSOC);
$numrows = $row['numrows'];
$maxPage  = ceil($numrows/$rowsPerPage);
$nextLink = '&nbsp;';
if($maxPage >1)
{
    $nav .= "<form id=\"FNav\" name=\"FNav\" method=\"get\" action=\"\">";
    $nav .= "Halaman : <select name=\"page\" id=\"page\">";
    for($page = 1; $page <= $maxPage; $page++)
    {
        if($pageNum==$page)
        {
            $nav .= "<option selected>$page</option>";
        } else
        {
            $nav .= "<option>$page</option>";
        }
    }
    $nav .= "</select>";
    $nav .= "<input type=\"submit\" name=\"btn\" id=\"btn\" value=\"Go\" />";
    $nav .= "</form>";
}
echo '<p>'.$nav.'</p>';

Jika anda lihat pada kedua gambar yang berbeda adalah navigasi halaman yang ada pada bagian bawah. Gambar pertama dengan menampilkan paging halaman dalam hyperlink, sedangkan gambar kedua menampilkan paging dengan combobox/list menu.

Untuk membuat paging dengan combobox secara umum hanya mengubah bagian scriipt navigasi halamanya.

Berikut perintah lengkap membuat paging dengan combobox.

<html>
<head>
<title>Membuat paging dengan list/menu</title>
</head>
<body>
<div align="center">
<?php
mysql_connect("localhost","root","") or die("Gagal Konek ke server");
mysql_select_db("db_mhs") or die("Gagal Konek ke database");
$tablename="tb_mhs";
// jumlah data perhalaman
$rowsPerPage = 12;
//nilai pertama
$pageNum = 1;
if(!empty($_GET['page']))
{
    $pageNum = $_GET['page'];
}
$offset = ($pageNum - 1) * $rowsPerPage;
// query database
$query  = "SELECT * FROM $tablename ORDER by nim asc LIMIT $offset, $rowsPerPage";
$result = mysql_query($query) or die('Error, query failed. ' . mysql_error());
?>
  <h2 class="tengah">DATA MAHASISWA</h2>
  <table width="450" border="0" cellpadding="3" cellspacing="1" bgcolor="#999999">
    <tr bgcolor="#E8FDEC">
      <th width="149">NIS</th>
      <th width="348">NAMA</th>
    </tr>
<?php
while($row = mysql_fetch_array($result))
{
?>
    <tr bgcolor="#fff">
      <td><?php echo $row['nim']?></td>
      <td><?php echo $row['nama']?></td>
    </tr>
<?php
} //end of while
?>
  </table>
<?php
$query   = "SELECT COUNT(nim) AS numrows FROM $tablename";
$result  = mysql_query($query) or die('Error, query failed. ' . mysql_error());
$row     = mysql_fetch_array($result, MYSQL_ASSOC);
$numrows = $row['numrows'];
$maxPage  = ceil($numrows/$rowsPerPage);
$nextLink = '&nbsp;';
if($maxPage >1)
{
    $nav .= "<form id=\"FNav\" name=\"FNav\" method=\"get\" action=\"\">";
    $nav .= "Halaman : <select name=\"page\" id=\"page\">";
    for($page = 1; $page <= $maxPage; $page++)
    {
        if($pageNum==$page)
        {
            $nav .= "<option selected>$page</option>";
        } else
        {
            $nav .= "<option>$page</option>";
        }
    }
    $nav .= "</select>";
    $nav .= "<input type=\"submit\" name=\"btn\" id=\"btn\" value=\"Go\" />";
    $nav .= "</form>";
}
echo '<p>'.$nav.'</p>';
    mysql_free_result($result);
?>
</div>
</body>
</html>

Langkah-langkah membuatnya serta susunan databasenya sama dengan membuat paging sebelumnya, silahkan anda download lengkap membuat paging dengan combo berikut.

Semoga bermanfaat.

Zainal Hakim

** Bebas disunting dengan menyebutkan sumber **

Komentar

Halaman Lainya

  • Membaca file dengan php
    Dengan php kita bisa melakukan operasi terhadap file yang berada dalam server. Operasi file yang bisa dilakukan diantaranya adalah membaca file.
  • Membuat animasi flash dengan php
    Anda mungkin sudah mengenal apa itu flash, yaitu sebuah jenis media digital yang bisa menampilkan gambar, tulisan dan memutar audio. Flash ini sering digunakan untuk membuat animasi yang ditampilkan di internet. Flash atau yang sering disebut animasi flash ini umumnya dibuat dengan aplikasi khusus seperti Adobe Flash. Tapi kita juga bisa membuatnya dengan php, walaupun hanya dengan animasi-animasi sederhana.
  • Cara upload file dengan PHP Script
    Php memiliki fasilitas untuk mengirimkan file dari komputer pengguna melalui browser ke server sehingga kita tidak perlu lagi aplikasi khusus seperti ftp atau login ke panel hosting hanya untuk sekedar upload file biasa, dokumen, maupun gambar.
  • Membuat tabel warna-warni dengan php
    Tentunya anda pernah melihat sebuah laporan yang disajikan secara unik dan menarik php. Misal, tabel tersebut dibuat dengan warna selang seling/warna-warni. Tujuan dibuat warna-warni seperti itu bukan hanya agar tampilan lebih menarik tapi juga bertujuan agar baris-baris data bisa terlihat dengan jelas. Bagaimana membuatnya dalam php? Simak tulisan saya berikut ini.
  • Perbedaan php dengan javascript dan html
    Apa perbedaan php dengan javascript? atau apa perbedaan php dengan html? pertanyaan ini seringkali muncul jika anda mulai mengenal bahasa pemrograman web. Ketiga bahasa pemrograman ini ternyata saling terkait dalam membangun sebuah web yang dinamis dan interaktif.

Kiriman terbaru