จุดประสงค์การเรียนรู้: เทคโนโลยีเพจจิ้ง สรุป
ในวันสุดท้ายของวันนี้ เราจะเรียนรู้เกี่ยวกับเทคโนโลยีเพจจิ้งที่ยากขึ้นเล็กน้อยใน ASP อย่างไรก็ตาม เมื่อเรามีเรคคอร์ด N เราจะไม่สามารถแสดงเรคคอร์ดทั้งหมดในหน้าเดียวได้
-
exec="เลือก * จากการทดสอบ"
ตั้งค่า rs=server.createobject("adodb.recordset")
rs.open exec,conn,1,1
rs.PageSize=3
จำนวนหน้า=rs.PageCount
หน้า=int(request.QueryString ("หน้า"))
ถ้าหน้า<=0 ดังนั้นหน้า=1
ถ้า request.QueryString("page")="" แล้ว page=1
rs.AbsolutePage=เพจ
-
rs.pagesize กำหนดจำนวนระเบียนที่แสดงบนเพจ Pagecount เป็นตัวแปรที่กำหนดโดยตัวเราเอง list.asp?page=<%=page+1%> ลิงค์ไปหน้าถัดไปสามารถตั้งค่าเป็น list.asp?page=<%=page-1%> ได้ ดังนั้นเมื่อมีการคลิกลิงค์หน้านั้น ตัวแปรเพจนั้นเองเรียกว่า Just +1 หรือ -1 สุดท้ายนี้เราแค่ให้ rs.absolutepage (เพจปัจจุบัน) เป็นเพจเพจ
ถ้า request.QueryString("page")="" แล้ว page=1 จุดประสงค์ของประโยคนี้คือเมื่อเราเปิด list.asp เราจะไม่ติดตามตัวแปรของ page และจะถูกตั้งค่าเป็น page=1 โดยอัตโนมัติเพื่อป้องกัน ข้อผิดพลาด และเมื่อเรา if ....then...end if สามารถละเว้นได้เมื่อวางไว้บนบรรทัดเดียว การแบ่งหน้าไม่ใช่เรื่องยากใช่ไหม?
นี่เป็นกรณีพิเศษ:
หาก page=1 และไม่ใช่ page=pagecount แสดงว่าขณะนี้ไม่มีหน้าก่อนหน้า แต่มีหน้าถัดไป
elseif page=pagecount และไม่ใช่ page=1 ขณะนี้ไม่มีหน้าถัดไป แต่มีหน้าก่อนหน้า
หากหน้า <1 ไม่มีบันทึกในขณะนี้
elseif page>pagecount แล้วไม่มีบันทึกในขณะนี้
elseif page=1 และ page=pagecount ขณะนี้ไม่มีหน้าก่อนหน้าและไม่มีหน้าถัดไป
อย่างอื่นตอนนี้มีทั้งหน้าก่อนและหน้าถัดไป
มาดูโค้ดที่แสดงหน้า 1 ถึง n และเมื่อคลิกแต่ละหมายเลข หน้าเว็บที่แสดงด้วยหมายเลขนั้นจะปรากฏขึ้น เป็นเรื่องปกติมาก
<%for i=1 ถึงจำนวนหน้า%>
<a href="list.asp?page=<%=i%>"><%=i%></a><%ถัดไป%>
for...next คือการวนซ้ำโดยเริ่มจาก i=1 และการวนซ้ำจะเพิ่มขึ้น 1 จนกระทั่งนับจำนวนหน้า
สุดท้ายนี้ ตัวอย่างของฉันมีโปรแกรม ASP ที่ง่ายที่สุด แต่มีฟังก์ชันทั้งหมดรวมอยู่ด้วย
add.htm เพิ่มหน้าบันทึก
add.asp เพิ่มการดำเนินการบันทึก
ลิงค์ฐานข้อมูล conn.asp
del.asp ลบการดำเนินการบันทึก
modified.asp แก้ไขหน้าบันทึก
modifiedsave.asp แก้ไขการดำเนินการบันทึก
list.asp เป็นแกนหลักของโปรแกรมนี้ และคุณสามารถเพิ่ม แก้ไข และลบบันทึกได้ผ่านทางหน้านี้
ฐานข้อมูล test.mdb มีสองฟิลด์: aa และ bb: aa เป็นประเภทตัวเลขที่ยอมรับเฉพาะตัวเลขเท่านั้น และ bb เป็นประเภทอักขระ
โอเค วันนี้หมดเวลา 10 วันแล้ว ฉันคิดว่าบทช่วยสอนนี้มีไว้สำหรับทุกคนในการเริ่มต้น อย่าโทษฉันเลย ถ้าคุณคิดว่าการเขียนนั้นตื้นเขิน ฉันจะพยายามดูแลทั้งผู้เริ่มต้นและผู้เชี่ยวชาญอย่างเต็มที่ อยากจะบอกอะไรสักอย่างครับ วันนี้ ตัวอย่างคือแก่นแท้ของ ASP ครับ จะต้องศึกษาให้ละเอียดครับ หลังจากผ่านโปรแกรมนี้แล้วคุณจะพบว่าท่านรู้จัก ASP อยู่แล้ว ขอขอบคุณทุกท่านสำหรับการสนับสนุนของคุณ!