Fungsi paging ASP, navigasi paging
Penulis:Eve Cole
Waktu Pembaruan:2009-06-26 18:09:37
kode program
<%
'//Fungsi halaman
'//psize: Jumlah data yang ditampilkan pada setiap halaman
'//pindex: nomor halaman saat ini
'//tbName: nama tabel
'//keyIndex: paging sesuai dengan bidang apa, biasanya tipe yang bertambah sendiri (penomoran otomatis pada database akses)
'//di mana:kondisi kueri
'//order: kondisi penyortiran, defaultnya adalah "order by " &keyIndex &" desc"
'//Jumlah total catatan dan total halaman dapat diperoleh langsung dari kumpulan hasil yang dikembalikan. Bidang datacount menyimpan jumlah total catatan, dan bidang pagecount menyimpan jumlah total halaman.
pindex pribadi, jumlah data, halaman
'jumlah data = 0
'halaman = 1
fungsi publik changePage(psize,tbName,keyIndex,where,order)
dimsqlstring
pindex = Trim(Permintaan.QueryString("halaman"))
jika bukan isnumerik(psize) atau psize="" maka psize=1'//Jumlah data yang ditampilkan pada setiap halaman
jika bukan isnumerik(pindex) atau pindex="" maka pindex=1'//Nomor halaman saat ini
jika order="" maka order=" pesan berdasarkan " & keyIndex & " desc"
'//Dapatkan jumlah total data
'redupkan jumlah data, halaman
setel rs=conn.execute("pilih hitungan(*) sebagai jumlah data dari " & tbName & " di mana 1=1 " & di mana)
datacount = rs("datacount")'//Jumlah total catatan
rs.tutup
atur rs=tidak ada
'//Hitung jumlah total halaman
jika (jumlah data mod psize)=0 maka
halaman=jumlah data psize
kalau tidak
halaman=jumlah data psize + 1
berakhir jika
'//
jika cint(pindex)>halaman maka pindex=halaman
'Sambungkan string sql
jika pindex<=1 maka
sqlstring="pilih top " & psize & " *," & datacount & " sebagai datacount," & halaman & " sebagai pagecount dari " &_
tbNama & " di mana 1=1 " & di mana & " " & pesanan
kalau tidak
sqlstring="pilih top " & psize & " *," & datacount & " sebagai datacount," & halaman & " sebagai pagecount dari " &_
tbName & " di mana 1=1 dan " & keyIndex & " tidak ada di(pilih atas " & (pindex-1)*psize & " " & keyIndex & " dari " &_
tbNama & " di mana 1=1 " & di mana & " " & pesanan & ") " & di mana & " " & pesanan
berakhir jika
'Respon.Tulis(sqlstring)
atur changePage=sambungan.eksekusi(sqlstring)
fungsi akhir
'//Navigasi halaman
'//namafile: nama file/halaman saat ini, boleh dikosongkan
'//argString: parameter paging seperti classid=1&tid=16, halaman parameter yang diperlukan untuk paging tidak perlu diisi
'//pindex: nomor halaman saat ini
'//datacount: jumlah total catatan
'//halaman: jumlah total halaman
'//showMsg: Apakah akan menampilkan informasi paging, parameternya benar/salah
'//showText: Apakah akan menampilkan navigasi halaman beranda, halaman sebelumnya, halaman berikutnya, dan halaman terakhir, parameternya benar/salah
'//showNumber: Apakah akan menampilkan navigasi halaman digital, parameternya benar/salah
'fungsi publik pageLink(fileName,argString,pindex,datacount,pages,showMsg,showText,showNumber)
pageLink fungsi publik(namafile,argString,showMsg,showText,showNumber)
'//
jika argString<>"" maka argString = argString & "&"
jika bukan showText dan bukan showNumber maka showText=true
'//
jika showMsg lalu
Respon.Tulis("[")
Response.Write("<span style='color:red;'>" & pindex & "</span> halaman")
Response.Write("/分<span style='color:red;'>" & halaman & "</span> halaman")
Response.Write("/Total<span style='color:red;'>" & jumlah data & "</span> catatan")
Respon.Tulis("] ")
berakhir jika
'//
jika showText maka
jika pindex>1 maka
Response.Write("<a href='" & Namafile & "?" & argString & "page=1'>[Beranda]</a>")
Respon.Tulis(" ")
Response.Write("<a href='" & nama file & "?" & argString & "page=" & pindex - 1 & "'>[Halaman sebelumnya]</a>")
kalau tidak
Respon.Write("[Beranda]")
Respon.Tulis(" ")
Response.Write("[Halaman sebelumnya]")
berakhir jika
Respon.Tulis(" ")
jika pindex<halaman lalu
Response.Write("<a href='" & nama file & "?" & argString & "page=" & pindex + 1 & "'>[halaman berikutnya]</a>")
Respon.Tulis(" ")
Response.Write("<a href='" & Namafile & "?" & argString & "page=" & halaman & "'>[halaman terakhir]</a>")
kalau tidak
Response.Write("[halaman berikutnya]")
Respon.Tulis(" ")
Response.Write("[halaman terakhir]")
berakhir jika
berakhir jika
'//
jika showNumber maka
Respon.Tulis(" ")
untuk i = 4 sampai 1 langkah -1
jika (pindex - i)>0 maka
Response.Write("<a href='" & Namafile & "?" & argString & "page=" & pindex - i & "'>" & pindex - i & "</a>")
Respon.Tulis(" ")
berakhir jika
Berikutnya
'//
Respon.Write("<span style='color:red;'>" & pindex & "</span>")
'//
untuk saya = 1 sampai 4
if (pindex + i)<=halaman maka
Respon.Tulis(" ")
Response.Write("<a href='" & Namafile & "?" & argString & "page=" & pindex + i & "'>" & pindex + i & "</a>")
berakhir jika
Berikutnya
'//
berakhir jika
'//
fungsi akhir
%>