PHP Class Pagination alias Pengaturan Data per Halaman

This item was filled under [ Code Snippet, MySQL, PHP ]

Screenshot sebagai berikut:

Berikut php class pagination, pada script disertakan juga keterangan komentar pada file script.

<?php
class JinPagination {
	// fungsi pengaturan/option $this->blabla = "value nya blabla"
	function setOption($field, $value) {
		$this->$field = $value;
	}
	// fungsi paginasi generate array berupa total jumlah halaman, pagination, data dan posisi start 
	// berguna untuk diatur secara fleksible terutama untuk berbasis menggunakan template
	function build() {
		// SETUP
		$tabel = $this->tabel;
		$where = $this->where;
		$limit = $this->limit;
		$order = $this->order;
		$page = $this->page;
 
		// SETUP OPTIONAL
		if(!isset($this->web_url_page)) { $web_url_page = "?page="; } else { $web_url_page = $this->web_url_page; }
		if(!isset($this->adjacents)) { $adjacents = "3"; } else { $adjacents = $this->adjacents; }
		if(!isset($this->txt_prev)) { $txt_prev = "&laquo; prev"; } else { $txt_prev = $this->txt_prev; }
		if(!isset($this->txt_next)) { $txt_next = "next &raquo;"; } else { $txt_next = $this->txt_next; }
		if(!isset($this->txt_titik)) { $txt_titik = "..."; } else { $txt_titik = $this->txt_titik; }
 
		$query = mysql_query("SELECT * FROM ".$tabel." ".$where."");
		//$total_pages = mysql_fetch_array(mysql_query($query));
		//$total_pages = $total_pages['num'];
		$total_pages = mysql_num_rows($query);
 
		if($page) {
			$start = ($page - 1) * $limit; 			//first item to display on this page
		} else {
			$start = 0;								//if no page var is given, set start to 0
		}
		// Get data.
		$query = "SELECT * FROM ".$tabel." ".$where." ".$order." LIMIT ".$start.", ".$limit."";
		$hasil = mysql_query($query);
 
		/* Setup page vars for display. */
		if ($page == 0) $page = 1;					//if no page var is given, default to 1.
		$prev = $page - 1;							//previous page is page - 1
		$next = $page + 1;							//next page is page + 1
		$lastpage = ceil($total_pages/$limit);		//lastpage is = total pages / items per page, rounded up.
		$lpm1 = $lastpage - 1;						//last page minus 1
 
		/* 
			Now we apply our rules and draw the pagination object. 
			We're actually saving the code to a variable in case we want to draw it more than once.
		*/
		$pagination = "";
		if($lastpage > 1) {
			$pagination .= "<div class=\"pagination\">";
			//previous button
			if ($page > 1) {
				$pagination .= "<a href=\"".$web_url_page.$prev."".$extra_href."\">" . $txt_prev . "</a>";
			} else {
				$pagination .= "<span class=\"disabled\">" . $txt_prev . "</span>";	
			}
			//pages
			if ($lastpage < 7 + ($adjacents * 2)) {
				//not enough pages to bother breaking it up
				for ($counter = 1; $counter <= $lastpage; $counter++) {
					if ($counter == $page) {
						$pagination .= "<span class=\"current\">".$counter."</span>";
					} else {
						$pagination .= "<a href=\"".$web_url_page.$counter."".$extra_href."\">".$counter."</a>";
					}
				}
			}
			elseif($lastpage > 5 + ($adjacents * 2)) {
				//enough pages to hide some
				if($page < 1 + ($adjacents * 2)) {
					//close to beginning; only hide later pages
					for ($counter = 1; $counter < 4 + ($adjacents * 2); $counter++) {
						if ($counter == $page) {
							$pagination .= "<span class=\"current\">".$counter."</span>";
						} else {
							$pagination .= "<a href=\"".$web_url_page.$counter."".$extra_href."\">$counter</a>";
						}
					}
					$pagination .= $txt_titik;
					$pagination .= "<a href=\"".$web_url_page.$lpm1."".$extra_href."\">".$lpm1."</a>";
					$pagination .= "<a href=\"".$web_url_page.$lastpage."".$extra_href."\">".$lastpage."</a>";		
				}
				elseif($lastpage - ($adjacents * 2) > $page && $page > ($adjacents * 2)) {
					//in middle; hide some front and some back
					$pagination .= "<a href=\"".$web_url_page."1".$extra_href."\">1</a>";
					$pagination .= "<a href=\"".$web_url_page."2".$extra_href."\">2</a>";
					$pagination .= $txt_titik;
					for ($counter = $page - $adjacents; $counter <= $page + $adjacents; $counter++) {
						if ($counter == $page) {
							$pagination .= "<span class=\"current\">".$counter."</span>";
						} else {
							$pagination .= "<a href=\"".$web_url_page.$counter."".$extra_href."\">".$counter."</a>";
						}
					}
					$pagination .= $txt_titik;
					$pagination .= "<a href=\"".$web_url_page.$lpm1."".$extra_href."\">".$lpm1."</a>";
					$pagination .= "<a href=\"".$web_url_page.$lastpage."".$extra_href."\">".$lastpage."</a>";
				} else {
					//close to end; only hide early pages
					$pagination .= "<a href=\"".$web_url_page."1".$extra_href."\">1</a>";
					$pagination .= "<a href=\"".$web_url_page."2".$extra_href."\">2</a>";
					$pagination .= $txt_titik;
					for ($counter = $lastpage - (2 + ($adjacents * 2)); $counter <= $lastpage; $counter++) {
						if ($counter == $page) {
							$pagination .= "<span class=\"current\">".$counter."</span>";
						} else {
							$pagination .= "<a href=\"".$web_url_page.$counter."".$extra_href."\">".$counter."</a>";
						}
					}
				}
			}
 
			//next button
			if ($page < $counter - 1) {
				$pagination .= "<a href=\"".$web_url_page.$next."".$extra_href."\">" . $txt_next . "</a>";
			} else {
				$pagination .= "<span class=\"disabled\">" . $txt_next . "</span>";
				$pagination .= "</div>\n";
			}
		}
		// hasil dari fungsi build()
		return array(	"pagination" 	=> $pagination, 
						"total" 		=> number_format($total_pages),
						"hasil"			=> $hasil,
						"start"			=> $start
					);
	}
}
 
 
// Penggunaan Class
// koneksi DB
// asumsikan kita sudah terkoneksi dengan database MySQL
 
// Setting CSS
$isi = "";
$isi .= "
<style>
/* optional */
body {
	background-color:#fff;
	font-size:11px;
	font-family:Verdana;
	margin:0;
	padding:0;
	color:#555555;
}
/* END - optional */
 
/* PAGINATION */
div.pagination {
	padding: 3px 0 3px 0;
	margin: 0;
}
 
div.pagination a {
	padding: 2px 5px 2px 5px;
	margin: 2px;
	border: 1px solid #AAAADD;
 
	text-decoration: none; /* no underline */
	color: #000099;
}
div.pagination a:hover, div.pagination a:active {
	border: 1px solid #000099;
 
	color: #000;
}
div.pagination span.current {
	padding: 2px 5px 2px 5px;
	margin: 2px;
		border: 1px solid #000099;
 
		font-weight: bold;
		background-color: #000099;
		color: #FFF;
	}
	div.pagination span.disabled {
		padding: 2px 5px 2px 5px;
		margin: 2px;
		border: 1px solid #EEE;
 
		color: #DDD;
	}
/* END - PAGINATION */
</style>
";
// optional CSS display
echo $isi;
// bikin object
$hal = new JinPagination;
// setup paginasi
$hal->setOption("tabel", "jaw_airport"); // nama tabel database
$hal->setOption("where", "WHERE `cek_aktif`='1'"); // where kondisi, kosongkan jika tidak memakai WHERE
$hal->setOption("limit", "10"); // LIMIT tampilan per halaman
$hal->setOption("order", "ORDER BY `code` DESC"); // urutan, kosongkan jika tidak memakai urutan
$hal->setOption("page", $_REQUEST["page"]); // setup untuk ambil variable angka halaman (berguna jika menggunakan SEO url, ubah sesuai dgn kebutuhan)
$hal->setOption("web_url_page", "?page="); // setup alamat url (berguna jika menggunakan SEO url, ubah sesuai dgn kebutuhan)
// optional setup
$hal->setOption("adjacents", "5"); // tampil berapa angka ke kanan dan ke kiri nya, jika kita diposisi tengah halaman
$hal->setOption("txt_prev", "&laquo; sebelumnya"); // mengubah text "prev" menjadi "sebelumnya"
$hal->setOption("txt_next", "berikutnya &raquo;"); // mengubah text "next" menjadi "berikutnya"
// generate hasil pagination
$hal_array = $hal->build();
// setup penomoran
$no = $hal_array["start"] + 1;
// tampilkan
echo "<h1>Demo Data Pagination</h1>";
echo $hal_array["pagination"]; // tampilkan pagination diatas
echo "<br /><br />";
// data
while($data = mysql_fetch_array($hal_array["hasil"])){
	echo $no . ". " . $data['code'] . " - ".$data['nama']." <br>";
	$no++;
}
echo "<br />";
echo "total: " . $hal_array["total"]; // tampilkan total data
echo $hal_array["pagination"]; // tampilkan pagination dibawah
?>

Demo lainnya: klik disini
Download file contoh script komplit nya:

  class.pagination.rar (2.5 KiB, 2,512 hits)

semoga bermanfaat… :mrgreen:

Tambahan:

untuk pagination Style, dapat Anda pilih disini: some-styles-for-your-pagination

Rate this topic:
1 Star2 Stars3 Stars4 Stars5 Stars (6 votes, average: 4.83 out of 5)
Loading ... Loading ...
Popularity: 7,455 views
Tagged with: [ , , ]
You can follow any responses to this entry through the RSS 2.0 feed. You can leave a response, or trackback from your own site.

Artikel Sejenis

35 Comments on “PHP Class Pagination alias Pengaturan Data per Halaman”

  • Safari Safari 525.27.1
    Mac OS X Mac OS X 10.5.6
    8 Jan 2009 21:23

    bermanfaat kok bang :mrgreen:

    tp kalo aq bikin itu lepas dari db. jadi cuman perlu parameter total record sama current page aja, ntar tinggal build jadi navigation.

    ide itu hasil aq nyontek di code orang sih :twisted:

    tp yang ini pake class, lebih yahud :oops:

    Like or Dislike: Thumb up 0 Thumb down 0
  • Mozilla Firefox Mozilla Firefox 3.0.5
    Windows Windows XP
    8 Jan 2009 23:58

    @rlyna, makasih komentarnya :wink:
    owhh iya bisa juga ya diwaktu bulid nya gak perlu pake db ya…
    total record sama current page aja ya.. wah iya ya bener juga…

    ntar saya bikin class pagination yg versi tanpa berkutat langsung dgn db ya… jadi pengaturan db nya di waktu eksekusi di controller (istilah framework nya, halah..)

    eh eh, tapi ntar di controller mesti query2 dulu dong yah untuk mendapatkan jumlah totalnya, bukannya malah jadi tambah panjang code2 pengulangannya? kan kalau yg ini, tinggal setting nama tabel, where, limit, order aja.. atau gimana yg lebih efisien dan fleksibel? yah sementara saya pakai yg ini dulu aja…

    Like or Dislike: Thumb up 0 Thumb down 0
  • Mozilla Firefox Mozilla Firefox 3.0.5
    Windows Windows XP
    10 Jan 2009 2:15

    thx :D

    Like or Dislike: Thumb up 0 Thumb down 0
  • Mozilla Firefox Mozilla Firefox 3.0.5
    Windows Windows XP
    10 Jan 2009 23:26

    mantap :) :razz:

    Like or Dislike: Thumb up 0 Thumb down 0
  • ian
    Mozilla Firefox Mozilla Firefox 3.0.7
    Windows Windows XP
    27 Mar 2009 8:20

    ini script OK juga. tapi saya punya kendala nich wkt pakenya buat kasus saya.
    mau nanya nich, klo untuk WHERE nya supaya bisa dirubah-rubah gimana ya? soalnya page 1 nya data keluar tapi pas page 2 datanya blank, pas dilihat ternyata isi WHERE nya kosong, jadi gmn caranya?… saya ambil nilai untuk WHERE nya dari list/menu. thanks banget.

    Like or Dislike: Thumb up 0 Thumb down 0
  • joko
    Mozilla Firefox Mozilla Firefox 3.0.10
    Windows Windows XP
    24 May 2009 14:12

    mas, untuk nampilin misal: hal 1 dari 10 halaman gimana mas?
    trims

    Like or Dislike: Thumb up 0 Thumb down 0
  • Mozilla Firefox Mozilla Firefox 3.0.10
    Windows Windows XP
    25 May 2009 2:22

    @ian
    di bagian ini bisa diubah WHERE nya terserah kita.
    bisa juga ambil dari variabel menu yg ian maksudkan.

    $hal->setOption("where", "WHERE `cek_aktif`='1'"); // where kondisi, kosongkan jika tidak memakai WHERE

    @joko
    bagian akhir dari fungsi bulid() diubah seperti ini:

    	// hasil dari fungsi build()
    		return array(	"pagination" 	=> $pagination, 
    						"total" 		=> number_format($total_pages),
    						"hasil"			=> $hasil,
    						"start"			=> $start,
    						"lastpage"		=> $lastpage
    					);

    lalu dibagian yg ingin kita tampilkan seperti ini:

    echo "halaman ".$_REQUEST["page"]." dari " . $hal_array["lastpage"] . "halaman"; // tampilkan total halaman
    Like or Dislike: Thumb up 0 Thumb down 0
  • joko
    Google Chrome Google Chrome 2.0.172.28
    Windows Windows XP
    27 May 2009 10:04

    jadi tinggal nambahin “lastpage” aja ya mas, gak ada bagian lain-lain yang dirubah kan

    trims

    Like or Dislike: Thumb up 0 Thumb down 0
  • Mozilla Firefox Mozilla Firefox 3.0.10
    Windows Windows XP
    27 May 2009 18:13

    @joko
    iya mas joko, silahkan dicoba sesuai komentar saya yg di atas, yaitu nambahin hasil array nya (lastpage).
    semoga membantu dan terimakasih atas masukannya.

    Like or Dislike: Thumb up 0 Thumb down 0
  • Adi Suwarso
    Opera Opera 9.63
    Windows Windows Vista
    26 Jun 2009 14:55

    implementasinya kalo ke MS SQL Server yang connect via ODBC gimana ya?

    sudah diotak-atik malah jadi bingung :)

    diantos waleranna,,, nuhun

    Like or Dislike: Thumb up 0 Thumb down 0
  • Adi Suwarso
    Opera Opera 9.63
    Windows Windows Vista
    26 Jun 2009 20:58

    maaf ketinggalan,,, koneksi odbc saya seperti ini:

    $server = "alamat";
    $user = "user";
    $password = "password";
    $database = "data_base";

    $connection = odbc_connect("DRIVER=SQL Server;SERVER=".$server.";UID=".$user.";PWD=".$password.";DATABASE=".$database.";Address=".$server.",1433","","");

    $query = "SELECT * FROM tabel WHERE status='kondisi' ORDER BY status ASC";

    $opentables = odbc_exec($connection, $query);

    mudah-mudahan ada yang bisa bantu, terutama mas Jawaad.
    terima kasih.

    Like or Dislike: Thumb up 0 Thumb down 0
  • Mozilla Firefox Mozilla Firefox 3.0.11
    Windows Windows XP
    27 Jun 2009 3:17

    @Adi Suwarso, untuk database MS SQL, silahkan dicoba seperti ini:
    dibaris yg

    		// Get data.
    		$query = "SELECT * FROM ".$tabel." ".$where." ".$order." LIMIT ".$start.", ".$limit."";

    menjadi:

    		// Get data.
    		$query = "SELECT TOP ".$limit." * FROM (SELECT TOP ".$start." FROM ".$tabel."  ".$order.") ".$order."";

    terus semua perintah mysql_query nya diubah menjadi odbc_exec.
    semoga bisa membantu..
    cmiiw

    Like or Dislike: Thumb up 0 Thumb down 0
  • joko
    Mozilla Firefox Mozilla Firefox 3.0.8
    SuSE Linux SuSE Linux
    13 Jul 2009 5:01

    mas saya sudah berhasil untuk pagingnya, tapi untuk seting adjacents gak berfungsi , malah kalo gak di kaish adjacent paging nya berhasil, salah saya di mana mas? trims

    Like or Dislike: Thumb up 0 Thumb down 0
  • joko
    Mozilla Firefox Mozilla Firefox 3.0.8
    SuSE Linux SuSE Linux
    13 Jul 2009 5:09

    Mas saya udah berhasil pake pagingnya, tapi untuk seting adjacent gak bisa, malah kalo gak dikaih seting adjacent paging bejalan dengan baik, salah saya dimana ya mas, trims

    Like or Dislike: Thumb up 0 Thumb down 0
  • Mozilla Firefox Mozilla Firefox 3.0.11
    Windows Windows XP
    13 Jul 2009 5:43

    @Joko, kenapa gak bisa? saya dan teman lain dah coba bisa.. kalau aneh, default yg di class nya diubah aja mas adjcent nya..
    dibagian ini:

    if(!isset($this->adjacents)) { $adjacents = "3"; } else { $adjacents = $this->adjacents; }

    angka 3 nya diubah aja sesuai yg mas Joko inginkan.
    Adjacents ini keliatan jika halaman kita banyak.. misalnya yg ada di demo ini:
    http://www.nusansifor.com/demo/pagination/?test=pagination&page=1977
    di link tersebut adjacents nya 2, jadi jika di posisi halaman 1977, maka yg tampil di sebelah kanan dan kiri nya hanya 2 halaman sebelumnya dan 2 halaman setelahnya, yaitu halaman 1975, 1976 (kiri) dan 1978, 1979 (kanan).

    Like or Dislike: Thumb up 0 Thumb down 0
  • wie
    Internet Explorer Internet Explorer 7.0
    Windows Windows XP
    19 Jul 2009 22:43

    mas,,saya menginginkan file class nya terpisah..bagai mana ya..jadi class pagination ini berbeda file dengan penggunaanya…
    kan contoh yang ini di gabung..saya udah nyoba tapi gak berhasil..tolong ya mas..trims

    Like or Dislike: Thumb up 0 Thumb down 0
  • wie
    Internet Explorer Internet Explorer 7.0
    Windows Windows XP
    20 Jul 2009 5:15

    sudah bisa mas..tapi sekarang bingung,, kalo saya menggunakan searching,,paging itu ga berfungsi…jadi harus gimana ya??thanks…

    Like or Dislike: Thumb up 0 Thumb down 0
  • Mozilla Firefox Mozilla Firefox 3.0.12
    Windows Windows XP
    26 Jul 2009 18:43

    @wie, file php pagination class ini memang di-design supaya bisa jalan dengan file terpisah.. dan class memang biasanya jg seperti itu sifatnya, supaya tidak boros copy-paste script.

    Logika untuk searching, pada penggunaan setup, sesuaikan pada baris berikut:

    $hal->setOption("where", "WHERE `cek_aktif`='1'"); // where kondisi, kosongkan jika tidak memakai WHERE
     
    $hal->setOption("web_url_page", "?page="); // setup alamat url (berguna jika menggunakan SEO url, ubah sesuai dgn kebutuhan)

    sesuaikan WHERE kondisi nya sesuai dengan search, dan alamat url web juga sesuaikan dengan variabel search nya… gunakan variabel dari $_GET, dan method searchnya gunakan GET jangan POST.
    contoh pencarian kata “test”:
    blabla.com/?search=test
    maka setupnya sbb:

    $hal->setOption("where", "WHERE `nama` LIKE '%".$_GET['search']."%'"); // where kondisi, kosongkan jika tidak memakai WHERE, sesuaikan dengan kebutuhan.
     
    $hal->setOption("web_url_page", "?search=".$_GET['search']."&page="); // setup alamat url (berguna jika menggunakan SEO url, ubah sesuai dgn kebutuhan)

    silahkan dicoba, semoga membantu.

    Like or Dislike: Thumb up 0 Thumb down 0
  • Mozilla Firefox Mozilla Firefox 3.0.7
    Windows Windows XP
    4 Aug 2009 3:59

    Thx bos, saya sudah coba, saya gabung dengan script dasar punya saya (maksudnya yang saya pelajari dari tutorial para master) dan berjalan dengan baik.

    Like or Dislike: Thumb up 0 Thumb down 0
  • Adi Suwarso
    Opera Opera 9.63
    Windows Windows Vista
    5 Nov 2009 14:53

    Mas Jawaad, scriptnya jalan bagus dan cukup mudah dimengerti sehingga bisa disesuaikan dengan kebutuhan untuk tampilannya di web kita,
    hanya saya kesulitan untuk mengcustomize link2 halamannya, tidak seperti paginator.class yang pernah saya pakai (yang memang untuk pemula seperti saya sangat susah dimengerti).
    sebagai contoh :
    members.php?perintah=anggota&sorting=tanggal
    file members.php (induk) meng-include file anggota.php yang berfungsi menghubungi database dan memformat halaman serta memanggil JinPagination.class.php
    maka link2 halaman yang dihasilkan menjadi (contoh):
    members.php?page=8
    padahal kondisi link yang diinginkan:
    members.php?perintah=anggota&page=8&sorting=tanggal
    sehingga anggota.php bisa diinclude kembali oleh members.php dengan parameter setelahnya.
    mudah-mudahan kalimat saya tidak membingungkan :) dan mudah-mudahan mas Jawaad bisa bantu implementasikan ;)
    hatur tengkyu… (maaf kepanjangan)

    Like or Dislike: Thumb up 0 Thumb down 0
  • Mozilla Firefox Mozilla Firefox 3.5.4
    Windows Windows XP
    5 Nov 2009 22:39

    @Mas Adi Suwarso,
    PHP class Pagination yg ini di set supaya bisa fleksibel, jadi tinggal atur set-up an kita saja mas.

    lihat bagian ini mas di contoh script:

    $hal->setOption("web_url_page", "?page="); // setup alamat url (berguna jika menggunakan SEO url, ubah sesuai dgn kebutuhan)

    lalu sesuaikan dengan kebutuhan:
    misalkan kasus seperti mas, kita asumsikan begini:

    $var_tambahan = '';
    if(isset($_GET['perintah'])) {
    	$var_tambahan .= "perintah=".$_GET['perintah']."&";
    }
    if(isset($_GET['sorting'])) {
    	$var_tambahan .= "sorting=".$_GET['sorting']."&";
    }
     
    $hal->setOption("web_url_page", "?".$var_tambahan."page=");

    Btw, mas Suwarso kasusnya mirip dengan yg wie utarakan diatas. Yaitu setup bagian web_url_page dan WHERE.

    Terimakasih atas komentarnya :mrgreen:

    Like or Dislike: Thumb up 0 Thumb down 0
  • Adi Suwarso
    Opera Opera 9.80
    Windows Windows Vista
    17 Nov 2009 7:52

    :( kehilangan data setelah memodifikasi script ini,,, pantang menyerah, baca ulang :)

    mas Jawaad, untuk kasus terakhir belum saya coba praktekan, tapi kepikiran sesuatu sehingga saya tambahkan beberapa baris pada script tersebut, mohon commentnya betul atau salah ;)
    eh hanya 2 barus ya :)

    ######original line
    // SETUP
    $tabel = $this->tabel;
    $where = $this->where;
    $limit = $this->limit;
    $order = $this->order;
    $page = $this->page;

    ######modified to
    // SETUP
    $tabel = $this->tabel;
    $where = $this->where;
    $selection = $this->selection; //opsi kalau tidak mau semua field di select
    $limit = $this->limit;
    $order = $this->order;
    $page = $this->page;

    ######original line
    // bikin object
    $hal = new JinPagination;
    // setup paginasi
    $hal->setOption(“tabel”, “barang”); // nama tabel database
    $hal->setOption(“selection”, “kodebrg, hargajual, hargajual1″); // field yang akan di select beri “*” kalau mau semua field di select
    $hal->setOption(“where”, “WHERE hargajual > 90000″); // where kondisi, kosongkan jika tidak memakai WHERE
    $hal->setOption(“limit”, “15″); // LIMIT tampilan per halaman
    $hal->setOption(“order”, “ORDER BY hargajual ASC”); // urutan, kosongkan jika tidak memakai urutan
    $hal->setOption(“page”, $_REQUEST["page"]); // setup untuk ambil variable angka halaman (berguna jika menggunakan SEO url, ubah sesuai dgn kebutuhan)

    ######modified line
    // bikin object
    $hal = new JinPagination;
    // setup paginasi
    $hal->setOption(“tabel”, “barang”); // nama tabel database
    $hal->setOption(“selection”, “kodebrg, hargajual, hargajual1″); // field yang akan di select beri “*” kalau mau semua field di select
    $hal->setOption(“where”, “WHERE hargajual > 90000″); // where kondisi, kosongkan jika tidak memakai WHERE
    $hal->setOption(“limit”, “15″); // LIMIT tampilan per halaman
    $hal->setOption(“order”, “ORDER BY hargajual ASC”); // urutan, kosongkan jika tidak memakai urutan
    $hal->setOption(“page”, $_REQUEST["page"]); // setup untuk ambil variable angka halaman (berguna jika menggunakan SEO url, ubah sesuai dgn kebutuhan)

    mudah-mudahan tidak salah dan tidak mengganggu :)

    Like or Dislike: Thumb up 0 Thumb down 0
  • Adi Suwarso
    Opera Opera 9.80
    Windows Windows Vista
    17 Nov 2009 7:54

    wakkk, jelek amat tampilan comment saya,,, gimana caranya supaya pada comment baris-baris script code masuk kedalam kotak ‘source’ seperti mas seperti punyanya mas Jawaad ya?
    :)

    Like or Dislike: Thumb up 0 Thumb down 0
  • Adi Suwarso
    Opera Opera 9.80
    Windows Windows Vista
    17 Nov 2009 8:23

    yup,,, malah bingung :)

    ######original line
    $var_tambahan = ”;
    if(isset($_GET['perintah'])) {
    $var_tambahan .= “perintah=”.$_GET['perintah'].”&”;
    }
    if(isset($_GET['sorting'])) {
    $var_tambahan .= “sorting=”.$_GET['sorting'].”&”;
    }

    $hal->setOption(“web_url_page”, “?”.$var_tambahan.”page=”);

    ganti jadi:
    ######modified line
    $var_tambahan = ‘perintah=daftarharga&sorting=tanggal&’;
    $hal->setOption(“web_url_page”, “?”.$var_tambahan.”page=”); // setup alamat url (berguna jika menggunakan SEO url, ubah sesuai dgn kebutuhan)

    maaf, kelebihannya apa mas kalo saya pake baris-baris yang mas Jawaad kasih (belum terpikir), yang saya rubah malah terlalu simpel ya…

    ato ada kekurangan tambahan baris pada script class-nya? kayaknya pertanyaan yang gak nyambung ya :(

    sorry…

    Like or Dislike: Thumb up 0 Thumb down 0
  • PHP PHP
    17 Nov 2009 18:09

    @Adi Suwarso, mas untuk komen code silahkan pakai

    &lt;pre lang="php"&gt;
    // code nya disini
    &lt;/pre&gt;


    Oya mas, itu bagian yg mas ubah:

    $var_tambahan = 'perintah=daftarharga&sorting=tanggal&'; // *)
    $hal->setOption("web_url_page", "?".$var_tambahan."page=");

    *) kok perintah nya selalu daftarharga dan sortingnya selalu tanggal? kalau tidak dinamis, mendingan langsung aja dibagian web_url_page. jadi begini:

    $var_tambahan = ''; // ini dihapus saja
    $hal->setOption(”web_url_page”, "?perintah=daftarharga&sorting=tanggal&page=");
    Like or Dislike: Thumb up 0 Thumb down 0
  • Adi Suwarso
    Opera Opera 9.80
    Windows Windows Vista
    18 Nov 2009 11:31

    itu hanya contoh saja mas… :)

    pada implementasinya itu memang harus dinamis kok,,, masih pengembangan jadi masih bolak-balik di ‘daftarharga’ dan tanggal ;)

    nantinya pagination ini akan dijalankan sesuai perintah yang diberikan…

    terima kasih

    Like or Dislike: Thumb up 0 Thumb down 0
  • Mozilla Firefox Mozilla Firefox 3.0.7
    Windows Windows XP
    1 Feb 2010 4:16

    Bagaimana kalau search-nya menggunakan metode POST

    Like or Dislike: Thumb up 0 Thumb down 0
  • Mozilla Firefox Mozilla Firefox 3.5.7
    Ubuntu Linux Ubuntu Linux
    1 Feb 2010 6:12

    @Stiksa Eureka, kalau pakai method POST, class nya mesti diubah $web_url_page nya dengan menggunakan variable hidden post.
    Semoga membantu.

    Like or Dislike: Thumb up 0 Thumb down 0
  • Mozilla Firefox Mozilla Firefox 3.0.7
    Windows Windows XP
    2 Feb 2010 7:48

    sebenarnya masih bingung tapi biar saya coba cari dulu tutorial penggunaan variable hidden post.

    Like or Dislike: Thumb up 0 Thumb down 0
  • Mozilla Firefox Mozilla Firefox 3.5.7
    Windows Windows XP
    2 Feb 2010 18:44

    @Stiksa Eureka, oiya tinggal ubah saja bagian:
    Yang tadinya pakai $_GET.

    $hal->setOption("where", "WHERE `nama` LIKE '%".$_GET['search']."%'"); // 
    $hal->setOption("web_url_page", "?search=".$_GET['search']."&page=");

    diubah menjadi pakai $_POST.

    $hal->setOption("where", "WHERE `nama` LIKE '%".$_POST['search']."%'"); // 
    $hal->setOption("web_url_page", "?search=".$_POST['search']."&page=");

    semoga membantu.

    Like or Dislike: Thumb up 0 Thumb down 0
  • Mozilla Firefox Mozilla Firefox 3.0.7
    Windows Windows XP
    3 Feb 2010 8:15

    Nanya lagi, saya pake WP, bagaimana memanggil sticky post di wordpress (maaf kalo banyak nanya)

    Soalnya gini saya make wp, tapi untuk halaman index-nya saya mau kombinasi dengan script ini, maksudnya biar lebih bebas mengatur tampilan.

    Like or Dislike: Thumb up 0 Thumb down 0
  • Mozilla Firefox Mozilla Firefox 3.5.7
    Windows Windows XP
    3 Feb 2010 20:57

    @Stiksa Eureka, Kalau pakai WP, mendingan pakai Plugin saja.
    http://wordpress.org/extend/plugins/wp-pagenavi/

    Like or Dislike: Thumb up 0 Thumb down 0
  • Mozilla Firefox Mozilla Firefox 3.0.7
    Windows Windows XP
    5 Feb 2010 3:49

    Makasih Mas.

    Like or Dislike: Thumb up 0 Thumb down 0
  • Mozilla Firefox Mozilla Firefox 3.0.15
    Windows Windows 7
    12 Feb 2010 14:51

    pak,,, minta contoh tabelnya,, saya kesulitan memodifikasi dengan tabel daya terima kasih, mohon di kirim ke email saya putrablora@yahoo.co.id

    Like or Dislike: Thumb up 0 Thumb down 0
  • Mozilla Firefox Mozilla Firefox 3.5.7
    Windows Windows XP
    13 Feb 2010 1:20

    @Budi,
    Tabel pakai kode html sederhana saja kan?
    Kalau Anda sudah ada tabelnya tinggal copy paste aja.
    Ini contoh tabel:

    echo "
    		<table>
    			<tr>
    				<th>No</th>
    				<th>Kode</th>
    				<th>Nama</th>
    				<th>Ket</th>
    			</tr>
    	";
    // data
    while($data = mysql_fetch_array($hal_array["hasil"])){
    	echo "
    			<tr>
    				<td>" . $no . "</td>
    				<td>" . $data['code'] . "</td>
    				<td>" . $data['nama'] . "</td>
    				<td>" . $data['ket'] . "</td>
    			</tr>
    	";
    	$no++;
    }
     
    echo "
    		</table>
    	";
    Like or Dislike: Thumb up 0 Thumb down 0

Leave a Comment

Notify me of followup comments via e-mail. You can also subscribe without commenting.

Halaman ini di eksekusi dalam waktu 3.245 detik! (sedeng lah segini mah...)