티스토리 뷰
< .py >
# 한 페이지에 보여질 게시물 갯수
PageSize = 20
# 한 페이지에 보여질 페이지 블럭 갯수
PageBlockCount = 10
# paging parameter
searchType = self.get_argument("searchType", "", True)
searchWord = self.get_argument("searchWord", "", True)
// 현재 페이지
currentPage = int(self.get_argument("currentPage", 1, True))
# search logic
searchQueryStr = ""
if searchType != "" and searchWord != "":
if searchType == "TITLE":
searchQueryStr += "AND article_title like '%%" + searchWord + "%%'"
elif searchType == "WRITER":
searchQueryStr += "AND article_write_id like '%%" + searchWord + "%%'"
# paging logic
pagingQueryStr = ""
// 조회할 게시글 시작 번호 및 끝 번호
start = ( currentPage - 1 ) * PageSize + 1
pagingQueryStr = " limit " + str(start - 1) + ", " + str(PageSize)
# article list
listQueryStr = '''
SELECT
article_seq
, article_title
, article_desc
, article_write_id
, article_write_date
FROM
board
WHERE
article_delete_yn = 'N'
'''
listQueryStr += searchQueryStr
listQueryStr += " order by article_seq desc"
listQueryStr += pagingQueryStr
articleList = self.db.query(listQueryStr)
# 게시물 총 카운트
totalCount = self.db.execute_rowcount("select article_seq from board where article_delete_yn = 'N'" + searchQueryStr)
# 게시물의 마지막 페이지 : 전체 게시물에 대한 총 페이지
finalPage = getFinalPage(totalCount, PageSize)
# 시작 페이지 : 현제 페이지에서 보여질 페이지 블럭의 첫번째 페이지
startPage = getStartPage(currentPage, PageBlockCount)
# 끝 페이지 : 현재 페이지에서 보여질 페이지 블럭의 마지막 페이지
endPage = getEndPage(startPage, PageBlockCount)
if endPage > finalPage:
endPage = finalPage
self.render("list.html", articleList = articleList, totalCount = totalCount, currentPage = currentPage, searchType = searchType, searchWord = searchWord, startPage = startPage, endPage = endPage, finalPage = finalPage, PageBlockCount = PageBlockCount)
< list.html >
<ul class="pagination" style="float:right;">
<!-- 이전 버튼 -->
{% if startPage > PageBlockCount %}
<li><a href="javascript:goPage('{{ startPage - 1 }}')">«</a>
{% end %}
<!-- xx 부터 xx 전 까지이므로 + 1 해준다. -->
{% for pageNo in range(startPage, ( endPage + 1 )) %}
<li {% if pageNo == currentPage %} class="active" {% end %}><a href="javascript:goPage('{{ pageNo }}');">{{ pageNo }}</a></li>
{% end %}
<!-- 다음 버튼 -->
{% if endPage < finalPage %}
<li><a href="javascript:goPage('{{ endPage + 1 }}');">»</a>
{% end %}
</ul>
'프로그래밍' 카테고리의 다른 글
[JAVASCRIPT] 동적 height 조절 (0) | 2016.12.24 |
---|---|
[ETC] Blocking, Non-Blocking (0) | 2016.12.24 |
[ETC] Tornado (0) | 2016.12.24 |
[JAVASCRIPT] jQuery 속성(CSS) 추출 (0) | 2016.12.24 |
[JAVASCRIPT] jQuery 검증 (0) | 2016.12.24 |
- Total
- Today
- Yesterday
- 남미
- 성스러운 계곡
- 쿠스코
- 칠레
- 후마리
- Cusco
- Uyuni
- 킹덤 호텔
- calama
- Oracle
- 칼라마
- 토레스 델 파이네
- 족발
- aguas calientes
- 남미 저가항공
- 마추피추
- 푸에르토 나탈레스
- 나미비아
- jQuery
- 볼리비아
- 우유니
- 햄버거
- Namibia
- 빈트후크
- 빅토리아폴스
- 성계 투어
- 애드센스
- Cambodia
- 아구아스 칼리엔테스
- 캄보디아
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 | 29 | 30 | 31 |