Halo sobat semua, dalam pembuatan website, nomor halaman atau paging website adalah hal yang sangat penting diperhatikan, karena selain hal tersebut memudahkan parapengunjung web kita, hal itu juga dapat menambah nilai keindahan website yang kita buat.
Untuk keperluan navigasi data biasanya disajikan dengan link berupa nomor halaman atau kadang berbentuk Previous dan Next.
Sebagai pengguna teknologi Internet terutama website tentunya kita seringkali melihat tampilan seperti dibawah ini :
Tampilan di atas biasa disebut dengan Halaman Bertingkat. Apakah paging itu? Paging
merupakan teknik menampilkan data dengan cara membaginya ke beberapa
halaman. Teknik ini diberikan untuk mengurangi scrolling window apabila
data yang disajikan terlalu banyak, sehingga akan menimbulkan kejemuan
orang yang melihat dan juga akan menghasilkan page load time yang besar
karena ukuran filenya besar (apabila data disajikan dalam satu halaman
saja).
Untuk keperluan navigasi data biasanya disajikan dengan link berupa nomor halaman atau kadang berbentuk Previous dan Next.
Pada kasus ini akan dipaparkan bagaimana membuat paging ini dilakukan.
1 2 3 4 5 ... 20 Next >>
Contoh tampilan di atas maksudnya
terdapat 20 halaman paging dan halaman yang sedang aktif adalah halaman
1. Bila yang aktif halaman 10, maka tampilan navigasinya adalah:
<< Prev 1 … 7 8 9 10 11 12 13 ... 20 Next >>
Sedangkan bila yang aktif adalah halaman terakhir (20) maka tampilan navigasinya adalah
<< Prev 1 .. 17 18 19 20
Dalam contoh ini kasus paging ini akan
diterapkan pada data guestbook atau buku tamu. Atau sering kita jumpai
pada Search Engine seperti Google, Yahoo, dan sebagainya.
Berikut adalah script PHP Paging tanpa Database.
Langkah 1
Simpanlah dengan nama paging.php.
Langkah 2
Ketik script berikut ini:
<? function makeLink($str,$url,$bold="false"){
if($bold){
$str="<b>".$str."</b>";
}
return '<a href="'.$url.'">'.$str.'</a>';
}
function paging($curRec,$totalRec,$maxRec){
$totalPage=ceil($totalRec/$maxRec);
$curPage=ceil(($curRec+1)/$maxRec);
$str="";
/* tombol previous */
if($curPage>1){
$rec=($curPage-2)*$maxRec;
$str.=" ".makeLink("prev","?cur=".$rec,$bold)." ";
}
/* nomor halaman 1 2 3 dst… */
for($i=1;$i<=$totalPage;$i++){
if($i==$curPage){
$bold=true;
}else{
$bold=false;
}
$rec=($i-1)*$maxRec;
$str.=" ".makeLink($i,"?cur=".$rec,$bold)." ";
}
/* tombol next */
if($curPage<$totalPage){
$rec=($curPage*$maxRec);
$str.=" ".makeLink("next","?cur=".$rec,$bold)." ";
}
return $str;
}
$totalRec=60;// total Record ini didapat berdasrkan table dalam database
$maxRec=4;// ini adalah maximum record per halaman
/*
curRecord akan digunakan di sql query menggunakan LIMIT
contoh : $rs=mysql_query(“select * from phonebook limit $curRec,$maxRec”;
*/
$curRec=($_GET['cur']==null)?"0":$_GET['cur'];
?><?=paging($curRec,$totalRec,$maxRec)?><?
?>
Langkah 3
Simpan di dalam C:\AppServ\www atau sesuai dengan tempat yang anda buat, yang paling penting, file ini berada di dalam C:\Apache\htdocs\...
Langkah 4
Silahkan cek tampilan di dalam localhost seperti tampilan di bawah ini.
Jika anda mengalami kesulitan dalam pembuatannya ,, silahkan tinggalkan komentar anda dibawah ini, saya siap memberikan bantuan kepada saudara sekalian. Terimakasih.
Selamat mencoba.
Salah judul ya mas..
BalasHapusMaksudnya salah judul apa gan ??
BalasHapusjudul itu kan benar ,,,
mungkin anda yang kurang memahaminya,,
dalam website, pembuatan halaman itu ada dua jenis ,
yg pertama, membuat halaman web berdasarkan jumlah record didalam database,,
yang kedua, ya seperti yg diatas ,, tidak berdasarkan database, atau tanpa database..
thanks
Contoh script yang tanpa menggunakan database bagian mana ?
BalasHapus"$totalRec=60;// total Record ini didapat berdasrkan table dalam database
$maxRec=4;// ini adalah maximum record per halaman
/*
curRecord akan digunakan di sql query menggunakan LIMIT
contoh : $rs=mysql_query(“select * from phonebook limit $curRec,$maxRec”;
*/"
Masih menggunakan database ?
mohon bantuannya.. pada blog sy,knp page 2 dst pengulangan dari home page ya? ini link nya,bisa dilihat kasus yg buat sy bingung. Trims sebelumnya.
BalasHapushttp://cucimatacatalog.blogspot.com/
masbroo,, ko ada syntax error on line 14. padahal udah disamain kenapa ya?
BalasHapusmohon pencerahan nya....
mw tanya gan
BalasHapusapakah pada halaman ke 2 atau selanjutnya no y itu balik lagi ke no 1 atw gak??
klw gak koding ky gmnaa???
mohon pencerahannya
trim
hadeeh,ngopas kali yah...itu pake database keleees
BalasHapusKursus pemrogramman supaya bisa, dan gak amatiran langsung pada ahlinya kawan2. Aku sudah membuktikannya,, Langsung aja kunjungi SKINET INDONESIA.
BalasHapusKursus Komputer
Bisa kursus online juga lho..