ฟังก์ชันเพจ ASP, การนำทางเพจ
ผู้เขียน:Eve Cole
เวลาอัปเดต:2009-06-26 18:09:37
รหัสโปรแกรม
-
'//ฟังก์ชันเพจจิ้ง
'//psize: จำนวนข้อมูลที่แสดงในแต่ละหน้า
'//pindex: หมายเลขหน้าปัจจุบัน
'//tbName: ชื่อตาราง
'//keyIndex: การเพจตามฟิลด์ใด ซึ่งโดยปกติจะเป็นประเภทการเพิ่มตัวเอง (การกำหนดหมายเลขอัตโนมัติของฐานข้อมูลการเข้าถึง)
'//where:เงื่อนไขการสืบค้น
'//order: เงื่อนไขการเรียงลำดับ, ค่าเริ่มต้นคือ "order by " &keyIndex &" desc"
'//สามารถรับจำนวนระเบียนทั้งหมดและจำนวนหน้าทั้งหมดได้โดยตรงจากชุดผลลัพธ์ที่ส่งคืน จำนวนข้อมูลของฟิลด์จะจัดเก็บจำนวนระเบียนทั้งหมด และจำนวนหน้าของฟิลด์จะจัดเก็บจำนวนหน้าทั้งหมด
pindex ส่วนตัว จำนวนข้อมูล หน้า
'จำนวนข้อมูล = 0
'หน้า = 1
ฟังก์ชั่นสาธารณะ changePage (psize, tbName, keyIndex, โดยที่, ลำดับ)
dimsqlstring
pindex = Trim (Request.QueryString ("หน้า"))
หากไม่ใช่เป็นตัวเลข(psize) หรือ psize="" ดังนั้น psize=1'//จำนวนข้อมูลที่แสดงในแต่ละหน้า
หากไม่ใช่ตัวเลข (pindex) หรือ pindex="" ดังนั้น pindex=1'//หมายเลขหน้าปัจจุบัน
ถ้าสั่ง = "แล้วสั่ง =" สั่งซื้อโดย " & keyIndex & " desc"
'//รับจำนวนข้อมูลทั้งหมด
'จำนวนข้อมูลสลัว, หน้า'
set rs=conn.execute("select count(*) as datacount from " & tbName & " โดยที่ 1=1 " & โดยที่)
datacount = rs("datacount")'//จำนวนบันทึกทั้งหมด
฿.ปิด
ตั้งค่า rs=nothing
'//คำนวณจำนวนหน้าทั้งหมด
ถ้า (datacount mod psize)=0 แล้ว
หน้า=จำนวนข้อมูล psize
อื่น
หน้า=จำนวนข้อมูล psize + 1
สิ้นสุดถ้า
-
ถ้า cint(pindex)>pages ดังนั้น pindex=pages
'ประกบสตริง sql'
ถ้า pindex<=1 แล้ว
sqlstring="select top " & psize & " *," & datacount & " เป็น datacount," & หน้า & " เป็นจำนวนหน้าจาก " &_
tbName & " โดยที่ 1=1 " & ที่ไหน & " " & สั่งซื้อ
อื่น
sqlstring="select top " & psize & " *," & datacount & " เป็น datacount," & หน้า & " เป็นจำนวนหน้าจาก " &_
tbName & " โดยที่ 1=1 และ " & keyIndex & " ไม่ได้อยู่ใน (เลือกด้านบน " & (pindex-1)*psize & " " & keyIndex & " จาก " &_
tbName & " โดยที่ 1=1 " & ที่ไหน & " " & สั่งซื้อ & ") " & ที่ไหน & " " & สั่งซื้อ
สิ้นสุดถ้า
'การตอบกลับเขียน (sqlstring)
ตั้งค่า changePage=conn.execute(sqlstring)
ฟังก์ชั่นสิ้นสุด
'//การนำทางเพจ
'//fileName: ชื่อไฟล์/หน้าปัจจุบัน คุณสามารถเว้นว่างไว้ได้
'//argString: พารามิเตอร์การเพจ เช่น classid=1&tid=16 ไม่จำเป็นต้องกรอกหน้าพารามิเตอร์ที่จำเป็นสำหรับการเพจ
'//pindex: หมายเลขหน้าปัจจุบัน
'//datacount: จำนวนบันทึกทั้งหมด
'//pages: จำนวนหน้าทั้งหมด
'//showMsg: ไม่ว่าจะแสดงข้อมูลเพจหรือไม่ พารามิเตอร์จะเป็น true/false
'//showText: ไม่ว่าจะแสดงการนำทางของหน้าแรก หน้าก่อนหน้า หน้าถัดไป และหน้าสุดท้าย พารามิเตอร์จะเป็น true/false
'//showNumber: ไม่ว่าจะแสดงการนำทางเพจแบบดิจิทัล พารามิเตอร์จะเป็น true/false
'ฟังก์ชั่นสาธารณะ pageLink (ชื่อไฟล์, argString, pindex, datacount, หน้า, showMsg, showText, showNumber)
ฟังก์ชั่นสาธารณะ pageLink (ชื่อไฟล์, argString, showMsg, showText, showNumber)
-
ถ้า argString<>"" ดังนั้น argString = argString & "&"
ถ้าไม่ showText และไม่ showNumber แสดงว่า showText=true
-
ถ้า showMsg แล้ว
การตอบกลับเขียน("[")
Response.Write("<span style='color:red;'>" & pindex & "</span> หน้า")
Response.Write("/分<span style='color:red;'>" & หน้า & "</span> หน้า")
Response.Write("/Total<span style='color:red;'>" & datacount & "</span> เรคคอร์ด")
ตอบกลับเขียน("] ")
สิ้นสุดถ้า
-
ถ้า showText แล้ว
ถ้า pindex>1 แล้ว
Response.Write("<a href='" & fileName & "?" & argString & "page=1'>[Home]</a>")
ตอบกลับเขียน(" ")
Response.Write("<a href='" & fileName & "?" & argString & "page=" & pindex - 1 & "'>[หน้าก่อนหน้า]</a>")
อื่น
Response.Write("[หน้าแรก]")
ตอบกลับเขียน(" ")
Response.Write("[หน้าก่อนหน้า]")
สิ้นสุดถ้า
ตอบกลับเขียน(" ")
ถ้า pindex<pages แล้ว
Response.Write("<a href='" & fileName & "?" & argString & "page=" & pindex + 1 & "'>[หน้าถัดไป]</a>")
ตอบกลับเขียน(" ")
Response.Write("<a href='" & fileName & "?" & argString & "page=" & หน้า & "'>[หน้าสุดท้าย]</a>")
อื่น
Response.Write("[หน้าถัดไป]")
ตอบกลับเขียน(" ")
Response.Write("[หน้าสุดท้าย]")
สิ้นสุดถ้า
สิ้นสุดถ้า
-
ถ้าแสดงหมายเลขแล้ว
ตอบกลับเขียน(" ")
สำหรับ i = 4 ถึง 1 ขั้นตอน -1
ถ้า (pindex - i)>0 แล้ว
Response.Write("<a href='" & fileName & "?" & argString & "page=" & pindex - i & "'>" & pindex - i & "</a>")
ตอบกลับเขียน(" ")
สิ้นสุดถ้า
ต่อไป
-
Response.Write("<span style='color:red;'>" & pindex & "</span>")
-
สำหรับฉัน = 1 ถึง 4
if (pindex + i)<=pages แล้ว
ตอบกลับเขียน(" ")
Response.Write("<a href='" & fileName & "?" & argString & "page=" & pindex + i & "'>" & pindex + i & "</a>")
สิ้นสุดถ้า
ต่อไป
-
สิ้นสุดถ้า
-
ฟังก์ชั่นสิ้นสุด
-