Selasa, 15 Januari 2013

Function Paging PHP

1. form_function.php
<?
class pag{
function cariPosisi($batas){
if(empty($_GET['produk_kat_pag'])){
$posisi=0;
$_GET['produk_kat_pag']=1;

} else {
$posisi = ($_GET['produk_kat_pag']-1) * $batas;
}
return $posisi;
}

function jumlahHalaman($jmldata, $batas){
$jmlhalaman = ceil($jmldata/$batas);
return $jmlhalaman;
}

function navHalaman($halaman_aktif, $jmlhalaman){
$link_halaman = "";

if($halaman_aktif > 1){
$prev = $halaman_aktif-1;
$link_halaman .= "<a href=produk_kat_pag-$_GET[id]-1.html class=pag>&laquo; First</a>
                      <a href=produk_kat_pag-$_GET[id]-$prev.html class=pag>&lsaquo; Prev</a>";
}

$angka = ($halaman_aktif > 3 ? " ... " : " ");
for ($i=$halaman_aktif-2; $i<$halaman_aktif; $i++){
if ($i < 1)
      continue;
$angka .= "<a href=produk_kat_pag-$_GET[id]-$i.html class=pag_no>$i</a>";
  }
$angka .= " <b class=pag_activ>$halaman_aktif</b>";
  
for($i=$halaman_aktif+1; $i<($halaman_aktif+3); $i++){
if($i > $jmlhalaman)
      break;
$angka .= "<a href=produk_kat_pag-$_GET[id]-$i.html class=pag_no>$i</a>";
    }
$angka .= ($halaman_aktif+2<$jmlhalaman ? " ... <a href=produk_kat_pag-$_GET[id]-$jmlhalaman.html class=pag_no>$jmlhalaman</a>" : " ");

$link_halaman .= "$angka";

if($halaman_aktif < $jmlhalaman){
$next = $halaman_aktif+1;
 $link_halaman .= " <a href=produk_kat_pag-$_GET[id]-$next.html class=pag>Next &rsaquo;</a>
                     <a href=produk_kat_pag-$_GET[id]-$jmlhalaman.html class=pag>Last &raquo; </a> ";
}

return $link_halaman;
}
}
2. form_paging.php
      <? include"form_function.php";    
      $p      = new pag;
      $batas  = 12;
      $posisi = $p->cariPosisi($batas);

      $sql = mysql_query("SELECT * FROM ... WHERE ...
      ORDER BY ... DESC LIMIT $posisi,$batas");     
      $jumlah = mysql_num_rows($sql);

      $jmldata     = mysql_num_rows(mysql_query("SELECT * FROM ... WHERE ..."));
      $jmlhalaman  = $p->jumlahHalaman($jmldata, $batas);
      $linkHalaman = $p->navHalaman($_GET[produk_kat_pag], $jmlhalaman);
    
      echo "$linkHalaman"; ";

  
      $p      = new kategori_pag;
      $batas  = 12;
      $posisi = $p->cariPosisi($batas);

      $sql = mysql_query("SELECT * FROM ... WHERE ...
      ORDER BY ... DESC LIMIT $posisi,$batas");     
      $jumlah = mysql_num_rows($sql);

      $jmldata     = mysql_num_rows(mysql_query("SELECT * FROM ... WHERE ..."));
      $jmlhalaman  = $p->jumlahHalaman($jmldata, $batas);
      $linkHalaman = $p->navHalaman($_GET[produk_kat_pag], $jmlhalaman);
    
      echo "$linkHalaman";
?>
END...................................

0 komentar: