더미 데이터 삽입
INSERT INTO [usert] VALUES (1, '주군의태양', '여', '주군의 태양 ost'); GO INSERT INTO [usert] VALUES (2, '주군의태양', '여', '주군의 태양 ost'); GO INSERT INTO [usert] VALUES (3, '최소영', '여', '테스트1'); GO INSERT INTO [usert] VALUES (7, '한미영', '여', '테스트 메모장'); GO INSERT INTO [usert] VALUES (8, '박기윤', '남', '메모장 테스트'); GO INSERT INTO [usert] VALUES (9, '최은영', '여', '테스트 메모장'); GO INSERT INTO [usert] VALUES (10, '갈재권', '남', '테스트 메모장'); GO INSERT INTO [usert] VALUES (11, '김동우', '남', '테스트 메모장'); GO INSERT INTO [usert] VALUES (12, '김현준', '남', '테스트 메모장'); GO INSERT INTO [usert] VALUES (13, '조현민', '여', '테스트 목록장'); GO INSERT INTO [usert] VALUES (14, '조현민', '남', '테스트 메모장 '); GO INSERT INTO [usert] VALUES (15, '김남희', '여', '김남희 메모장'); GO
page.asp
<!--#include file=./include/header.asp --> <script> function add(){ location.href="inputform.asp" ; } </script> </head> <body> <!--#include file=dbcon.asp --> <% id=request("id") name=request("name") sex=request("sex") keyfield=request("keyfield") key=request("key") ' page , startpage , ipp, ten 추가 if Request("page") ="" Then curpage=1 Else curpage=cint(Request("page")) end if if Request("startpage")="" Then startpage=1 Else startpage=cint(Request("startpage")) end if ipp=10 ' 페이지마다 출력할 레코드의 개수를 나타낸다. ten=10 '출력할 페이지의 개수를 나타낸다. if key ="" then sql ="SELECT count(*) as totalcount FROM usert" else sql="select count(*) as totalcount from usert where " & keyfield & " like '%" & key & "%'" end if Set rs=db.Execute(sql) %> <p> </p> <div class="rows" > <div class="col-xs-12 col-sm-12" > <h3 class="text-center">목록 보기</h3> <p> </p> <div class="col-xs-3 col-som-3"></div> <div class="col-xs-6 col-som-6"> <div class="text-center"> <p> <button onclick="add()" class="btn-primary">추가하기</button> </p> <p class="text-left"> 레코드 총 수 : 총 <%= rs("totalcount") %>개<br/> </p> <form class="form" action="page.asp" method="post"> <div class="col-sm-2"> <select name="keyfield" class="form-control"> <option value="name">이름</option> <option value="sex">성별</option> </select> </div> <div class="col-sm-2"> <input type="text" name="key" class="form-control" /> </div> <div class="col-sm-2"> <input type="submit" value="Search" name="submit" class="form-control btn-success"/> </div> </form> <p><br /> </p> <table class="table"> <tr> <th>번호</th> <th>이름</th> <th>성별</th> <th>메모</th> </tr> <% Set DbRec=Server.CreateObject("ADODB.Recordset") DbRec.CursorType=1 if key="" Then DbRec.Open "Select * From usert ORDER by id asc ", db else DbRec.Open " Select * From usert where " & keyfield & " like '%" & key & "%' Order by id asc ", db end if '변경된 부분 %> <% if DbRec.EOF then 'DbRec 가 없다면 그냥 넘어가기 한다. else ' 검색된 결과갑이 있다면 레코드의 수를 계산하고 각 페이지 값을 계산한다. DbRec.MoveLast postcount =DbRec.Recordcount totpage =int(postcount/ipp) totpage=cint(totpage) if (totpage * ipp) <> postcount then totpage=totpage+1 For a=1 to (curpage-1) * ipp DbRec.MovePrevious Next %> <% For i=1 to ipp if totpage= curpage then value =postcount Mod ipp if i > value and value <> 0 then Exit For end if end if %> <!-- 검색된 레코들 출력한다 --> <tr> <td><%= DbRec("id")%></td> <td><%= DbRec("name") %></td> <td><%= DbRec("sex") %></td> <td><%= DbRec("memo") %></td> </tr> <% DbRec.MovePrevious NEXT end if %> </table> <div class="text-center"> <nav aria-label="Page navigation example"> <ul class="pagination"> <% if totpage > ten then %> <% if startpage=1 then %> <li class="page-item"> <a class="page-link" href="#" aria-label="Previous"> <span aria-hidden="true">처음</span> <span class="sr-only">첫페이지</span> </a> </li> <% else %> <li class="page-item"> <a class="page-link" href="page.asp?page=<%=cint(Request("page"))-1 %>&startpage=<%=cint(Request("page") )-ten%>&keyfield=<%= keyfield%>&key=<%=key%>" aria-label="Previous"> <span aria-hidden="true">«</span> <span class="sr-only">이전</span> </a> </li> <% end if %> <% For a=startpage to startpage+ten-1 if a>totpage then exit for else if a=curpage then Response.Write "<li class='active' ><a class='page-link' href='#'>" &a&"</a></li>" else %> <li class='page-item' ><a href='page.asp?page=<%= a %>&startpage=<%=startpage %>&keyfield=<%= keyfield %>&key=<%=key%>' class='page-link'><%=a%></a></li> <% end if end if Next if((startpage\ten)=(totpage\ten)) Then %> <li class="page-item"> <a class="page-link" href="#" aria-label="Next"> <span aria-hidden="true">끝</span> <span class="sr-only">Next</span> </a> </li> <% else %> <li class="page-item"> <a class="page-link" href="page.asp?page=<%= a %>&startpage=<%= a%>&keyfield=<%= keyfield%>&key=<%=key%>" aria-label="Next"> <span aria-hidden="true">»</span> <span class="sr-only">Next</span> </a> </li> <% end if Else Response.write "탑 else" For a=startpage to totpage if a=curpage Then Response.Write "<a href='' >"&a&"</a>" end if Response.Write "라" next %> <% end if %> </ul> </nav </div> <br/></br/></br/></br/></br/> </div> </div> </div> </div> <nav aria-label="Page navigation example"> <ul class="pagination"> <li class="page-item"> <a class="page-link" href="#" aria-label="Previous"> <span aria-hidden="true">«</span> <span class="sr-only">Previous</span> </a> </li> <li class="page-item"><a class="page-link" href="#">1</a></li> <li class="page-item"><a class="page-link" href="#">2</a></li> <li class="page-item"><a class="page-link" href="#">3</a></li> <li class="page-item"> <a class="page-link" href="#" aria-label="Next"> <span aria-hidden="true">»</span> <span class="sr-only">Next</span> </a> </li> </ul> </nav> </body> </html>
출처 :
ASP 쇼핑몰 제작 프로젝트따라하기
OWL 연구소 지음
제작 소스 - Junho choi - macaronics : https://github.com/braverokmc79/asp-shoppingMall
참고
ASP 페이징 및 검색 처리기법 을 Mssql Stored Procedure (저장 프로시저 ) 사용해서 개발
댓글 ( 4)
댓글 남기기