학습 목적: 페이징 기술, 요약
오늘 마지막 날에는 조금 더 어려운 ASP 페이징 기술을 배워보겠습니다. 결국 N개의 레코드가 있으면 모든 레코드를 한 페이지에 표시할 수 없습니다.
<%
exec="테스트에서 * 선택"
rs=server.createobject("adodb.recordset")를 설정합니다.
rs.open exec,conn,1,1
rs.PageSize=3
페이지 수=rs.PageCount
page=int(request.QueryString ("페이지"))
페이지<=0이면 페이지=1인 경우
request.QueryString("page")=""인 경우 page=1인 경우
rs.AbsolutePage=페이지
%>
rs.pagesize는 페이지에 표시되는 레코드 수를 설정합니다. Pagecount는 레코드 수입니다. Page는 또한 다음 페이지에 대한 링크를 설정할 수 있습니다. asp?page=<%=page+1%>, 다음 페이지에 대한 링크를 list.asp?page=<%=page-1%>로 설정하여 링크를 클릭하면 페이지가 페이지 변수 자체는 +1 또는 -1이라고 합니다. 마지막으로 rs.absolutepage(현재 페이지)를 페이지 페이지로 둡니다.
request.QueryString("page")="" then page=1인 경우 이 문장의 목적은 list.asp를 열 때 페이지 변수를 따르지 않고 자동으로 page=1로 설정되어 이를 방지한다는 것입니다. 오류, when we if ....then...end if는 한 줄에 배치할 때 생략할 수 있습니다. 페이지 매김은 어렵지 않나요?
특별한 경우는 다음과 같습니다.
page=1이고 page=pagecount가 아닌 경우 현재 이전 페이지는 없지만 다음 페이지가 있습니다.
else if page=pagecount이고 page=1이 아닌 경우 현재 다음 페이지는 없지만 이전 페이지는 있습니다.
elseif 페이지<1, 현재 기록이 없습니다.
elseif 페이지>페이지수이면 현재 기록이 없습니다.
else if page=1 및 page=pagecount, 현재 이전 페이지와 다음 페이지가 없습니다.
그렇지 않으면 이때 이전 페이지와 다음 페이지가 있습니다.
1부터 n까지의 페이지를 표시하는 코드를 살펴보겠습니다. 각 번호를 클릭하면 해당 번호가 나타내는 페이지가 나타나는 것은 매우 일반적입니다.
<%for i=1 ~ 페이지 수%>
<a href="list.asp?page=<%=i%>"><%=i%></a><%next%>
for....next는 i=1부터 시작하는 루프이며 페이지 수까지 1씩 증가합니다.
마지막으로 내 예에는 가장 간단한 ASP 프로그램이 포함되어 있지만 모든 기능은 ASP의 핵심입니다.
add.htm은 레코드 페이지를 추가합니다.
add.asp는 레코드 작업을 추가합니다.
conn.asp 데이터베이스 링크
del.asp 레코드 삭제 작업
수정.asp 레코드 수정 페이지
Modifysave.asp 레코드 작업 수정
list.asp는 이 프로그램의 핵심으로, 이 페이지를 통해 기록을 추가, 수정, 삭제할 수 있습니다.
test.mdb 데이터베이스에는 aa 및 bb라는 두 개의 필드가 포함되어 있습니다. aa는 숫자만 허용하는 숫자 유형이고 bb는 문자 유형입니다.
자, 오늘로 10일이 끝났습니다. 이 튜토리얼은 모든 사람이 시작할 수 있는 것이라고 생각합니다. 글이 얕다고 생각하더라도 저를 비난하지 마십시오. 나는 초보자와 전문가 모두를 위해 최선을 다할 것입니다. 오늘 말씀드리고 싶은 것은 ASP의 핵심입니다. 이 프로그램을 통과한 후에는 이미 ASP를 알고 있다는 것을 알게 될 것입니다. 여러분의 지원에 감사드립니다!