conn.query(sql, [ (page - 1 )* 10 ], (err, result)=>{
if(err) {
res.render('error', {
head:"에러 발생",
msg:`글을 불러오는 중 오류가 발생했습니다.`});
return;
}
let list = result;
conn.query("SELECT count(*) AS cnt FROM nodeBoards", [], (err, result)=>{
let p = {};
p.totalCnt = result[0].cnt; //전체 글의 갯수
p.totalPage = Math.ceil(p.totalCnt / 10);
p.endPage = Math.ceil(page / 5) * 5;
p.startPage = p.endPage - 4;
p.prev = true;
p.next = true;
if(p.totalPage <= p.endPage){
p.endPage = p.totalPage;
p.next = false;
}
if(p.startPage == 1) {
p.prev = false;
}
res.render('board/board', {list:list, p:p});
});
});
<div class="row mt-3 justify-content-center d-flex"><ul class="pagination"><% if (p.prev) { %><li class="page-item"><a class="page-link" href="/board?p=<%= p.startPage - 1 %>">이전</a></li><% } %><% for (let i = p.startPage; i <= p.endPage; i++) { %><li class="page-item"><a class="page-link" href="/board?p=<%= i %>"><%= i %></a></li><% } %><% if (p.next) { %><li class="page-item"><a class="page-link" href="/board?p=<%= p.endPage + 1 %>">다음</a></li><% } %></ul></div>
node js를 사용해서 게시판을 개발 하고 있습니다. 페이징 구현방법에 대해서 조언 부탁드립니다.1부터 10까지에서 10이 선택 되면 5 ~ 10 ~ 14 로 구현하려 합니다.