티스토리 뷰
거의 모든 페이지의 구성이
리스트
: 어떤 결과를 보여주는 부분 두가지 조건이 존재한다.
1. 페이지가 있는 리스트
2. 글수정 처럼 페이지가 없이 화면에 노출
쓰기
: 특정 데이터를 받기위한 입력폼. 게시판에서 글쓰기, 회원가입양식, 이벤트 참여 등
저장
: 입력받은 데이터를 용도에 맞게 저장함
이런 구성이지 않을까 한다.
앞에서 이야기 했듯, 리스트는
대부분 DB와 연동해서 작성한다. 아닌게 모가 있을까??;;;
db쪽을 들어가야지 되는데, 귀찮아서 아직 못하고 있다.
그래서 이곳에서 MS-SQL 2005이상에서 일반적으로 사용하는 페이지를 할려고 한다.
페이지 처리를 할때 이전에 이야기 했듯이 전체 페이지가 필요하고, 현재 페이지가 필요하다.
' ########## 검색관련 쿼리만들기
' 등록일
If StartDate <> "" And EndDate <> "" Then
SQLSUB = SQLSUB & "And A.regDate Between '"&StartDate&"' And '"&EndDate&"'" & vbCrLf
End If
' ########## 페이지 처리 [20개를 리스팅 할 것임]
PageSize = 20
GotoPage = ReplaceValue(Request("GotoPage"))
If IsNull(GotoPage) Or GotoPage = "" Then GotoPage = 1
' ########## 총 게시물수
SQLCNT = "SELECT" & vbCrLf
SQLCNT = SQLCNT & " COUNT(1)" & vbCrLf
SQLCNT = SQLCNT & " FROM" & vbCrLf
SQLCNT = SQLCNT & " 테이블이름 A WITH(READUNCOMMITTED)" & vbCrLf ' 테이블이름 A 이 부분은 테이블에 해당하는 컬럼을 호출할때 A.테이블컬럼..... 나중에 DB에서..
SQLCNT = SQLCNT & " WHERE" & vbCrLf
SQLCNT = SQLCNT & " isStatus = 'Y'" & vbCrLf
SQLCNT = SQLCNT & SQLSUB & vbCrLf ' 이 부분은 검색을 위에서 SQLSUB라는 변수에 저장했을때 사용함.
Set Rs = Conn.Execute(SQLCNT)
If Not(Rs.EOF Or Rs.BOF) Then
TotalRecordCount = Rs(0)
End If
Rs.Close : Set Rs = Nothing
' ########## 리스트 가져오기
SQLSTR = "SELECT" & vbCrLf
SQLSTR = SQLSTR & " 가지고온 컬럼 리스트들" & vbCrLf
SQLSTR = SQLSTR & "FROM" & vbCrLf
SQLSTR = SQLSTR & "(" & vbCrLf
SQLSTR = SQLSTR & " SELECT" & vbCrLf
SQLSTR = SQLSTR & " ROW_NUMBER() OVER(ORDER BY A.tblProductIDX DESC) AS ROWNUM," & vbCrLf
SQLSTR = SQLSTR & " 가지고올 컬럼 리스트들" & vbCrLf
SQLSTR = SQLSTR & " FROM" & vbCrLf
SQLSTR = SQLSTR & " 테이블이름 A With(ReadUnCommitted)" & vbCrLf
SQLSTR = SQLSTR & " WHERE" & vbCrLf
SQLSTR = SQLSTR & " A.isStatus = 'Y'" & vbCrLf
SQLSTR = SQLSTR & SQLSUB & vbCrLf
SQLSTR = SQLSTR & ")A" & vbCrLf
SQLSTR = SQLSTR &"WHERE ROWNUM BETWEEN ((("&GotoPage&" - 1) * "&PageSize&") + 1) AND ("&GotoPage&" * "&PageSize&") "& vbCrLf
Set Rs = Conn.Execute(SQLSTR)
If Not(Rs.EOF Or Rs.BOF) Then
Arr_List01 = Rs.GetRows()
End If
RsClose()
row_number() over 가 2005부터 적용된다.
2000에서는 오류남.. 그런데. 10년이 넘은 DB를 사용하는 곳이 있을까? 하다가 있구나.~;;;
' ########## 페이지 처리하기
If TotalRecordCount Mod PageSize = 0 Then
TotalPageCount = fix(TotalRecordCount / PageSize)
Else
TotalPageCount = fix(TotalRecordCount / PageSize) + 1
End If
이 부분을 for문과 결합해서
<%
If IsArray(Arr_List01) Then
For i = 0 To UBound(Arr_List01, 2)
Select Case Trim(Arr_List01(7, i))
Case "ST"
saleStore = "판매대기"
Case "SA"
saleStore = "판매중"
Case "SW"
saleStore = "판매일시중지"
Case "ED"
saleStore = "판매종료"
End Select
Select Case Trim(Arr_List01(6, i))
Case "C"
costType = "유료"
Case "F"
costType = "무료"
End Select
%>
<tr>
<td><strong class="fontBlue"><%=Arr_List01(0, i)%></strong></td>
<td><%=productTypeTxt%></td>
<td><%=stType%></td>
<td><%=areaType%></td>
<td class="left"><a href="productForm.asp?tblProductIDX=<%=Arr_List01(0, i)%>&GotoPage=<%=GotoPage%>&<%=PageParam%>"><%=Arr_List01(1, i)%></a></td>
<td><%=costType%></td>
<td><%=saleStore%></td>
<td>
<% If Arr_List01(4, i) <> Arr_List01(5, i) Then %>
<strike><%=FormatNumber(Arr_List01(4, i), 0)%></strike>
<% Else %>
<%=FormatNumber(Arr_List01(4, i), 0)%>
<% End If %>
<br />
<%=FormatNumber(Arr_List01(5, i), 0)%>
</td>
<td><%=DateHard(Arr_List01(8, i), 33)%></td>
<td class="fontBlue"><a href="#" target="_blank">GO</a></td>
</tr>
<%
Next
Else
%>
<tr>
<td colspan="10">등록된 상품이 없습니다.</td>
</tr>
<% End If %>
이렇게 페이지에 대한 설정을 하고
데이터를 가져온다.2가지 1. 총 게시물수 / 2. 해당 페이지에 뿌릴 내용
3. 리스트 만들기
이게 다임.
- Total
- Today
- Yesterday
- asp
- Frozen
- 가입한 보험조회
- classic asp
- 윈드러너
- 대륭포스트타워7차
- 북 스캐너
- 구로디지털단지역
- 구로디지털 포차
- 겨울왕국
- awake
- 구디 스파게티
- CSS
- 이북 만들기
- costco 광명점
- Select case
- 안드레기
- 애플 이벤트
- 가산 하이힐
- 구로디지털단지역 맛집
- 글리 시즌1
- html
- 태그를 입력해 주세요.
- 롯데씨네마
- 그레이 아나토미 시즌1
- 퍼시픽 림
- 엑스페리아 타블렛 Z
- 구디 포차
- gt-s55
- asp 숫자
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | ||||||
2 | 3 | 4 | 5 | 6 | 7 | 8 |
9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 | 17 | 18 | 19 | 20 | 21 | 22 |
23 | 24 | 25 | 26 | 27 | 28 |