Friday, June 29, 2012

Paging Halaman Web Dengan ASP

Oke mau berbagi dikit ah tentang apa yang gw dapet dari kerjaan. hehehe
Ditambah hasil belajar dari prof Google :D
Biasanya kan gw kalo buat halaman web itu isinya semua ada disatu halaman, ga pernah gw bagi-bagi ke beberapa halaman. Bahasa inggrisnya sih katanya paging, nah kalo pake PHP biasanya pake fungsi LIMIT di mySqlnya. Tapi yang ini dicobain pake ASP :)
Pakai Looping:                                                                                                                                                                                                                                                           
do                                                                                                                                                   
 [syarat]
  [kondisi]
loop                          
Ilustrasinya adalah:

Jumlah data posting yang ada = 17
jumlah_post = 17


Jumlah data yang ditampilkan per halaman = 5
publish_post = 5


Jumlah halaman diperoleh dari : jumlah_post/publish_post                                                                
jumlah_hal = int(jumlah_post/publish_post)
jumlah_hal = int(17/5)
jumlah_hal = 3


dari kondisi di atas bisa dilihat 17/5 = 3 sisa 2. Karena ada sisa maka halaman akan
menjadi 4.                                                                                                                                                                              
< jika jumlah_post mod publish_post > 0 maka
jumlah_hal = jumlah_hal + 1
17 mod 5 = 2, 2 > 0
jumlah_hal = 3 + 1 = 4


contoh di atas adalah cara untuk mendapatkan jumlah halaman, untuk memperoleh rentang posting yang ter-publish menggunakan rumus berikut :

Jika halaman yang direquest = 3
halaman = 3
maka data awal posting yang ditampilkan adalah data ke 11                                                                                                                                  
awal = 11
awal = 10 + 1
awal = (2*5) + 1
awal = (2*publish_post) + 1
awal = ((halaman-1)*publish_post) + 1


data akhir yang ditampilkan = 15
akhir = 15
akhir = 3*5
akhir = 3*publish_post

Dari rumus-rumus di atas, sekarang kita bisa membuat programnya. Codenya seperti ini :



<% query = "SELECT COUNT(*) as jml FROM post"
rs.open query, conn
halaman = request.QueryString("halaman")
if halaman = "" then
  halaman = 1
end if
jumlah_post = rs("jml")
rs.close
publish_post = 5
jumlah_hal = int(jumlah_post/publish_post)
if jumlah_post mod publish_post > 0 then
  jumlah_hal = jumlah_hal + 1
end if
awal = (halaman-1) * publish_post + 1
akhir = halaman * publish_post
fot j = 1 to jumlah_hal
link = link & "<a href=post.asp?halaman="& j &">"& j &"</a>"& " - "                                                                                                                                               
next
‘ di atas adalah fungsi untuk menampilkan link halaman
%>

Untuk menampilkan data, codenya seperti berikut :


<%
strsql = "SELECT * FROM post ORDER BY tanggal DESC"                                                                                                           
rs.open strsql, conn
i = 0
do until rs.eof or i > akhir
i = i + 1
if i >= awal and i <= akhir then
. . .
. . .   ‘ code HTML untuk posting
. . .
end if
rs.movenext
loop
rs.close
response.write “Halaman : ” & link
%>


Hasil preview jadi seperti ini :

Posting 17
Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Duis ligula lorem, consequat eget, tristique nec, auctor quis, purus. Vivamus ut sem. Fusce aliquam nunc vitae purus.

Posting 16
Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Duis ligula lorem, consequat eget, tristique nec, auctor quis, purus. Vivamus ut sem. Fusce aliquam nunc vitae purus.

Posting 15
Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Duis ligula lorem, consequat eget, tristique nec, auctor quis, purus. Vivamus ut sem. Fusce aliquam nunc vitae purus.

Posting 14
Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Duis ligula lorem, consequat eget, tristique nec, auctor quis, purus. Vivamus ut sem. Fusce aliquam nunc vitae purus.

Posting 13
Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Duis ligula lorem, consequat eget, tristique nec, auctor quis, purus. Vivamus ut sem. Fusce aliquam nunc vitae purus.

Halaman : 1 - 2 - 3 - 4

0 komentar:

Post a Comment

 
Design by Frits Hendrico Tarihoran | Bloggerized by fritshendrico - Premium Blogger Themes | Revivalist, History Maker