[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 |
'NodeJS' 카테고리의 다른 글
nodejs-mysql transaction 사용하기 (0) | 2020.08.12 |
---|---|
nodejs express(centos7) socket.io 내에서 session 데이터 접근 (0) | 2020.03.27 |
nodejs express(centos7) 에서 socket.io 모듈 사용하여 다른 클라이언트로 데이터 전달하기 (0) | 2020.03.26 |