ปฏิบัติตามระบบบทความปกติตลอดทาง การเพิ่มบทความพื้นหลัง การดึงบทความ และหน้ารายละเอียดบทความทั้งหมดดำเนินการตามปกติ ไม่มีคำอธิบายที่นี่
ควรสังเกตว่า [page] จำเป็นต้องลบช่องว่างตรงกลาง เนื่องจากมีการทำซ้ำกับเพจพื้นหลังของ Script Home จึงเพิ่มช่องว่าง
เมื่อเพิ่มบทความ ให้เพิ่มตัวแบ่งหน้าในตำแหน่งที่คุณต้องการให้เพจ: [หน้า] (แน่นอน คุณสามารถใช้สัญลักษณ์นี้แบบไม่เป็นทางการได้ เช่น: [page], &&&, ###, @@@.. . ตราบใดที่ไม่ปรากฏตรงตำแหน่งที่ควรแสดงบทความตามปกติ)
ฉันใช้สี่หน้า หน้าป้อนข้อมูล (index.asp) หน้ากรอกการป้อนข้อมูล (add.asp) หน้ารายการบทความ (view.asp) และหน้าเนื้อหาบทความ (text.asp) สามหน้าแรกไม่ได้ใช้ จำเป็นต้องดำเนินการ ดูคำแนะนำต่อไปนี้ ฉันคิดว่านกธรรมดาสามารถทำได้
ขั้นตอนที่ 2: มา
ทำเคล็ดลับในส่วนข้อมูลไดนามิกของเนื้อหาบทความ ต่อไปนี้เป็นโค้ดและคำอธิบาย:
คัดลอกโค้ดดังต่อไปนี้:'นี่คือโค้ดสำหรับการประมวลผลเพจ
' เพื่อความปลอดภัย เราใช้ฟังก์ชันแทนที่เพื่อเพิ่มช่องว่างแบบเต็มความกว้างก่อนและหลังโค้ดเพจ
MMText=replace(rs(contents),[ หน้า ], [ หน้า ] )
MMfText= split(MMText,[ page ])
'ใช้ฟังก์ชัน ubound เพื่อรับจำนวนหน้าที่จะแบ่ง โปรดทราบว่าค่าตัวห้อยเริ่มต้นจาก 0
contentNum=ubound(MMfText)
page=Clng(request(page))
if page<1 then
page=1
end if
'เพื่อให้ดูเข้าใจง่ายขึ้น เราตั้งค่าหน้าเริ่มต้นเป็น 1 จากนั้นบวก 1 เข้ากับจำนวนหน้าทั้งหมด
ถ้า page>contentNum+1 จากนั้น
page=contentNum+1
end ถ้า
'เปลี่ยนเป็นตัวแปรของด้านที่จะแสดงซึ่งได้รับจากพารามิเตอร์ url ด้านบน และแสดงเพจแบบวนซ้ำ
สำหรับ i=page ไปยังเพจ
response.write MMfText(i-1)
next
' แสดงรายการการแบ่งหน้า
ถ้า cint(contentNum)>0 ถ้า
หน้า<>1 ดังนั้น
response.write <a href='text.asp?id=&request(id)&&page=&page-1&'>[หน้าก่อนหน้า]</a>
สิ้นสุดถ้า
'จำไว้ว่าค่าตัวห้อยมาจาก เริ่มจาก 0 เราจะเริ่มเพจจาก 1 ที่นี่ และเพิ่ม 1 ลงในผลรวม
สำหรับ p=1 ไปยัง contentNum+1
ถ้า page=p แล้ว
response.write <a href='text.asp?id=&request(id)&&page= &p&'> <แบบอักษร color=red>[&p&]</font></a>
else
response.write <a href='text.asp?id=&request(id)&&page=&p&'>[&p&]</a>
สิ้นสุดหาก
ถัดไป
หาก page<>contentNum+1 จากนั้น
response.write <a href='text.asp?id=&request(id)&&page=&page+1&'>[หน้าถัดไป]</a>
สิ้นสุดถ้า
สิ้นสุด หาก
ด้านล่างนี้เป็นบทความจากเว็บไซต์อื่น คุณยังสามารถอ้างอิงถึงบทความเหล่านั้นได้
หน้าบทความยาวๆ จะแสดงขึ้นโดยมีตัวแบ่งหน้า ฉันต้องการใช้ ASP เพื่อใช้ฟังก์ชันนี้ แต่ฉันพบว่ามีวิธีแบ่งหน้าตามจำนวนคำเท่านั้น แต่วิธีนี้มีข้อบกพร่อง นั่นคือ ถ้ามี เป็นรหัส UBB ในเนื้อหาบทความของคุณ มันง่ายมาก ทำให้เกิดการแบ่งหน้าระหว่าง [code][/code] หรือแยกย่อย [code] เป็น [co และ de] ทำให้เกิดข้อผิดพลาดในการแสดงบทความ
ขั้นตอนต่อไปนี้จะทำให้สิ่งนี้เป็นไปได้
ขั้นตอนที่ 1:
ปฏิบัติตามระบบบทความปกติทั้งหมด การเพิ่มบทความในพื้นหลัง การดึงบทความ และหน้ารายละเอียดของบทความจะดำเนินการตามปกติ ไม่มีคำอธิบายที่นี่ เมื่อเพิ่มบทความ ให้เพิ่มตัวแบ่งหน้าในตำแหน่งที่คุณต้องการให้เพจ: ||| (แน่นอนว่า คุณสามารถใช้สัญลักษณ์นี้แบบไม่เป็นทางการได้ เช่น: [ page ], &&&, ###, @@@... ตราบใดที่ไม่ปรากฏตรงที่บทความจะแสดงตามปกติ)
ฉันใช้สี่หน้า หน้าป้อนข้อมูล (index.asp) และหน้ากรอกอินพุต (เพิ่ม) .asp) หน้ารายการบทความ (view.asp) หน้าเนื้อหาบทความ (display.asp) สามหน้าแรกเป็นหน้าที่ไม่จำเป็นต้องประมวลผล ทำมัน กุญแจสำคัญคือ A displasy.asp ตัวสุดท้าย โค้ดทั้งหมดที่จะใช้ในการเพจอยู่ที่นี่
ขั้นตอนที่ 2:
ทำเคล็ดลับในส่วนข้อมูลไดนามิกของข้อความบทความ ต่อไปนี้เป็นโค้ดและคำอธิบาย:
คัดลอกโค้ดดังนี้:
<%
'ที่นี่เราจำเป็นต้องประมวลผลพารามิเตอร์เพจที่ได้รับเพื่อแสดงเนื้อหาของเพจใด
' สองประโยคต่อไปนี้คือให้ตัวแปร pageNum รับค่าของหน้าแรกหากไม่มีการส่งพารามิเตอร์ของเพจ: 0
If Request(page)= จากนั้น
pageNum=0
'มิฉะนั้น ให้กำหนดตัวแปรด้วยค่าของพารามิเตอร์ในเพจที่ส่งผ่าน เพื่อแสดง
หน้า
อื่นๆElsepageNum=Request(page)
End if
%>
<%
'หากคุณเพิ่มโค้ด UBB สำหรับการเรียกใช้งานเพิ่มเติม คุณสามารถเพิ่มโค้ดต่อไปนี้
'rs(NoUBB) ที่เป็นฟิลด์ในฐานข้อมูลเกี่ยวกับการปิดใช้งาน UBB, 0 หมายถึงการปิดใช้งาน, 1 หมายถึงการเรียกใช้งาน
If rs(NoUBB)=0 จากนั้น
'เพื่อหลีกเลี่ยงข้อผิดพลาดเมื่อเชื่อมต่อกับเนื้อหาบทความ ให้ใช้ฟังก์ชันแทนที่เพื่อเพิ่มความกว้างเต็มก่อนและหลังโค้ดเพจ |||
'rs(content) คือช่องข้อความใน ฐานข้อมูล เพิ่ม UBB ที่นี่ หรือปิดการใช้งาน UBB
Content=Replace((unHTML(rs(content))),|||, ||| )
Elseif rs(NoUBB)=1 แล้วก็
Content=Replace((ubb(rs(content))),|||, || |. )
สิ้นสุดถ้า
%>
<%
'นี่คือคีย์
' เราใช้ฟังก์ชัน split เพื่อนำบทความออกเป็นส่วนๆ และเก็บไว้ในเนื้อหาตัวแปร
ContentStr=split(Content,|||)
'ตามตัวแปรที่จะแสดงเพิ่งได้รับจากพารามิเตอร์ URL ให้แสดงเพจแบบวนซ้ำ
สำหรับ i=pageNum ถึง pageNum
%>
<!--นี่จะเป็นเนื้อหาข้อความของบทความ-->
<%=ContentStr % >
< % ถัดไป %>
</td>
</tr>
<tr>
<td height=30 class=ClassName>บทความนี้แบ่งออกเป็น
<%
'ในพื้นที่เพจ ให้ใช้ ubound(ContentStr) เพื่อดูว่าบทความแบ่งออกเป็นกี่หน้า โปรดทราบว่าบทความเริ่มต้นจาก 0 ดังนั้นจึงต้องเพิ่มจำนวนหน้าทั้งหมดด้วย 1
สำหรับ p = 0 ถึง ubound(ContentStr )
'ลิงก์ยังคงเป็นหน้านี้ แต่บทความ ต้องเพิ่มพารามิเตอร์การเพจหลังพารามิเตอร์ ID: หน้า
%>
<a href=display.asp?ID=<%=rsquest(ID)%>&page=<%= พี%>คลาส=><%=p+ 1%></a>
หน้า <% ถัดไป %>
นั้นง่ายมาก หากความคิดเห็นทั้งหมดถูกลบ จะมีโค้ดเพียง 15 บรรทัดเท่านั้น แต่ยังต้องได้รับการประมวลผลเพื่อให้สามารถเน้นหน้าก่อนหน้า หน้าถัดไป และ หน้าปัจจุบันจะสมบูรณ์แบบ
ได้รับการทดสอบแล้ว ข้อผิดพลาดทุกประเภทจะไม่ผิดพลาด เว้นแต่ตัวแบ่งหน้าจะปรากฏในบทความ แน่นอน คุณสามารถเพิ่มจำนวน ||| เช่น: |||||| และมันจะเป็น ก็ได้ ถ้าหก |. หรือน้อยกว่าปรากฏในบทความ แต่หากมีมากกว่าหก ก็จะมีตัวแบ่งหน้า