페이징 ASP 프로그램에 대한 일부 포럼에는 여전히 많은 추종자가 있지만 코드만 있고 자세한 설명이 없습니다. 초보자에게는 항상 페이징 기술을 자세히 설명하지 않습니다. ASP 페이징! 먼저 효과를 보시죠!
기능을 살펴보세요. 페이징 프로그램은 먼저 각 페이지의 사전 설정 레코드 수를 읽습니다. 여기서는 5이고, 동시에 나머지는 다음 페이지에 표시됩니다. 현재 페이지 번호, 총계가 표시됩니다. 페이지 번호 및 총 기록 번호가 표시되는 경우 첫 번째 페이지인 경우 홈 페이지와 이전 페이지에 대한 링크가 유효하지 않습니다. 표시된 페이지 수가 마지막 페이지인 경우 해당 페이지에 대한 링크는 유효하지 않습니다. 다음 페이지와 마지막 페이지가 유효하지 않습니다.
다음으로 이 페이징 효과를 만드는 방법을 예제와 함께 단계별로 설명하겠습니다.
먼저, 데이터베이스의 Record_info 필드가 info 테이블에 존재합니다(ASP 페이징을 학습할 때 데이터베이스에 대해 어느 정도 이해하고 있을 수 있습니다). 먼저 데이터베이스에 연결하고 다음 코드를 엽니다.
인용된 내용은 다음과 같습니다.
<%
conn=Server.CreateObject(Adodb.Connection) 설정
connstr=provider=Microsoft.JET.OLEDB.4.0;데이터 원본=&Server.MapPath(data.mdb)
conn.open 연결
rs=Server.CreateObject(Adodb.Recordset)를 설정합니다.
sql=정보에서 *를 선택하세요
rs.open SQL,콘,1,1
%>
이 코드는 자세히 설명되어 있지 않습니다. 자세한 설명은 "ASP를 사용하여 방명록 만들기" 튜토리얼을 참조하세요. 다음은 페이징에서 더 중요한 부분입니다. . 다음 세 줄만 포함됩니다.
인용된 내용은 다음과 같습니다.
<%
rs.pagesize=5
curpage=Request.QueryString(커페이지)
rs.absolutepage=curpage
%>
두 번째 문장:
rs.pagesize =5, 이게 무슨 뜻인가요? 이는 Recordset 개체에 내장된 속성으로 페이지당 레코드 수를 지정하는 것입니다. 5로 설정하면 5개의 레코드가 한 페이지에 합쳐집니다. 그런 다음 rs를 사용합니다. .pagesize로 페이징한 후 이 21개의 레코드가 5페이지로 나누어 표시됩니다.
세 번째 문장:
이는 주로 페이지 전환 기능에 사용됩니다. URL의 게시물 매개변수 curpage는 뷰어가 도달하려는 페이지 수를 가져옵니다. (예제를 실행해 보시면 이해가 되실 겁니다)
네 번째 문장:
rs.absolutepage, 이 속성은 내장 속성이기도 합니다. 즉, curpage 변수의 값을 현재 페이지로 지정한다는 뜻입니다.
이제 루프에서 레코드를 표시할 수 있습니다.
인용된 내용은 다음과 같습니다.
<%
i= 1에서 rs.pagesize까지
만약 rs.eof라면
종료
종료하면
%>
<%=rs(record_info)%><br>
<%
rs.movenext
다음
%>
두 번째 문장: for 루프를 사용하여 각 페이지의 rs.pagesize 속성에 지정된 레코드 수를 표시합니다.
세 번째, 네 번째, 다섯 번째 문장: 이 문장은 오류를 피하기 위해 마지막 페이지가 지정된 레코드에 도달할 수 없을 때 루프를 종료한다는 의미입니다.
일곱 번째 문장: 데이터베이스에서 가져온 Record_info 필드를 바인딩하면 이 필드의 레코드가 루프에 표시됩니다.
문장 9: rs.movenext 메소드를 사용하여 rs 레코드 세트를 한 레코드 아래로 이동합니다.
문장 10: for 루프문.
또한 <%=curpage%>를 사용하여 현재 페이지를 읽고, <%=rs.pagecount%>를 사용하여 총 페이지 수를 읽고, <%= rs.recordcount%>를 사용하여 총 페이지 수를 읽을 수 있습니다. 기록의. 예: 현재 페이지 <%=curpage%>에는 총 <%= rs.pagecount%> 페이지와 총 <%=rs.recordcount%> 레코드가 있습니다.
홈페이지, 이전 페이지, 다음 페이지, 마지막 페이지를 표시하는 기능에서는 if...else... 문을 사용하여 이해하기 쉽습니다.
인용된 내용은 다음과 같습니다.
<%if curpage=1이면%>
첫 페이지
<%다른%>
<a href=?curpage=1>홈페이지</a>
<%다음 경우 종료%>
<%if curpage=1이면%>
이전 페이지
<%다른%>
<a href=?curpage=<%=curpage-1%>>이전 페이지</a>
<%다음 경우 종료%>
<%if rs.pagecount<curpage+1 then%>
다음 페이지
<%다른%>
<a href=?curpage=<%=curpage+1%>>다음 페이지</a>
<%end if%> <%if rs.pagecount<curpage+1 then%>
마지막 페이지
<%다른%>
<a href=?curpage=<%=rs.pagecount%>>마지막 페이지</a>
<%다음 경우 종료%>
이해하다:
홈페이지: 현재 페이지가 첫 번째 페이지인지 여부에 따라 결정됩니다. 즉, 현재 페이지가 첫 번째 페이지(즉, 홈 페이지)이면 링크 없이 홈페이지라는 단어가 표시됩니다. 홈 페이지로 바로 이동할 수 있도록 제공됩니다.
이전 페이지: 현재 페이지가 첫 번째 페이지인 경우 링크는 이전 페이지로 연결됩니다. 여기서는 <%=curpage-1%>를 사용합니다. 이는 현재 페이지 번호에서 1을 빼는 것을 의미합니다. 한 페이지를 가져옵니다.
다음 페이지: 비교를 위해 rs.pagecount 속성을 사용해야 합니다. 총 페이지 수가 현재 페이지 수에 1을 더한 것보다 작으면 이것이 마지막 페이지이고 그렇지 않으면 링크가 유효하지 않음을 의미합니다. 다음 페이지에 있을 거예요.
마지막 페이지: 다음 페이지와 동일한 기능입니다. 마지막 페이지라고 판단되면 링크가 무효화됩니다. 그렇지 않으면 현재 페이지가 rs.pagecount(총 페이지 수)로 지정됩니다.
이 튜토리얼은 여기서 끝납니다. 설명을 마치면 모든 사람이 ASP 페이징 기술에 대해 더 깊이 이해할 수 있을 것입니다. 궁금하신 점은 블로그에 메시지 남겨주시면 연락드리겠습니다.