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 |
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.
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.
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.
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.
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.
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