[NODEJS ROUTER]부분

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
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
/* GET home page. */
router.get('/:page'function(req, res) {
  if(req.session.adminID){
    var sql = "SELECT *, INV.INV_QTY FROM md_mtrl AS M INNER JOIN MA_INVENT AS INV ON M.MTRL_CD = INV.MTRL_CD WHERE USE_YN = 'Y'";
    db.query(sql, function(error, rows){
      if(!error){
        if(rows.length>0){
 
          // 페이지당 게시물 수
          var page_size = 2;
          // 페이지의 개수 : 화면 하단 페이지 숫자 버튼 개수
          var page_list_size = 2;
          // limit 변수
          var no = '';
          //전체 게시물의 숫자 : 쿼리문 결과수
          var totalPageCount = rows.length;
          if(totalPageCount < 0){
            totalPageCount = 0;
          }
          //현제 페이지
          var curPage = req.params.page;
          
          var totalPage = Math.ceil(totalPageCount / page_size);// 전체 페이지수
          var totalSet = Math.ceil(totalPage / page_list_size); //전체 세트수
          var curSet = Math.ceil(curPage / page_list_size) // 현재 셋트 번호
          var startPage = ((curSet - 1* page_list_size) + 1 //현재 세트내 출력될 시작 페이지
          var endPage = (startPage + page_list_size) - 1//현재 세트내 출력될 마지막 페이지
          
          //현재페이지가 0 보다 작으면
          if (curPage < 0){
            no = 0;
          }else{
            //0보다 크면 limit 함수에 들어갈 첫번째 인자 값 구하기
            no = (curPage - 1* page_size;
          }
 
          var page_date = {
            "curPage": curPage,
            "page_list_size": page_list_size,
            "page_size": page_size,
            "totalPage": totalPage,
            "totalSet": totalSet,
            "curSet": curSet,
            "startPage": startPage,
            "endPage": endPage
          };
 
          // 추가 쿼리문
          sql += " LIMIT "+no+","+page_size+"";
          console.log("쿼리문 : "+sql)
          db.query(sql, function(error, rows){
            if(!error){
              res.render('mtrl_list',{rows : rows, pasing : page_date});
            }
          });
        }else{
          res.render('mtrl_list',{rows:[]});
        }
      }else{
        res.render('mtrl_list',{rows:[]});
      }
    });
    
  }else{
    res.redirect('/');
  }
});
cs
 

[HTML]부분

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
<%
    var endPage = pasing.endPage;
    var startPage = pasing.startPage;
    var totalSet = pasing.totalSet;
    var totalPage = pasing.totalPage;
    var page_list_size = pasing.page_list_size;
    var page_size = pasing.page_size;
    var curPage = pasing.curPage;
%>
 
<div class="paging">
    <%  if(curSet > 1){ %>
        <span><a href="/mtrl_list/<%= (startPage - 1) %>" class="prev"></a></span>
    <%  } %>
 
    <%  for(var i = startPage; i <= endPage; i++){ 
            if(i > totalPage){break;}
            if(i == curPage){
    %>
            <span><a class="on" href="/mtrl_list/<%= i %>"><%= i %></a></span>
    <%      }else{  %>
            <span><a href="/mtrl_list/<%= i %>"><%= i %></a></span>
    <%      }  %>
    <%  } %>
 
    <% if(curSet < totalSet){ %>    
        <span><a href="/mtrl_list/<%= endPage + 1 %>" class="next"></a></span>
    <%  }  %>
</div>
cs

+ Recent posts