페이지 목록을 다 출력했으니, 이제 페이징 처리를 해보자.
이 부분에서 삼항연산자를 아주 줄기차게 사용했다. 삼항 연산자 최고... php 특성상 if문을 사용하면 너무 글이 길어지는? 중복되는 것을 많이 써야하는 단점이 있었다. 그래서 if문 대신 삼항 연산자를 사용하니 한줄만으로 해결이되어서 삼항연산자를 매우 잘썼다.
<p class="page_prev">
<?php if ($page <= 1) { ?>
<a href="notice.php?page=1" title="이전 페이지"><i class="fas fa-angle-left"></i></a>
<?php } else { ?>
<a href="notice.php?page=<?php echo $now_block == 1 ? '1' : ($now_block - 1) * 5; ?>" title="이전 목록" title="이전 목록"><i class="fas fa-angle-double-left"></i></a>
<a href="notice.php?page=<?php echo $page - 1; ?>" title="이전 페이지"><i class="fas fa-angle-left"></i></a>
<?php } ?>
</p>
page-1
이런식으로 작동한다. 그러다가 페이지가 1보다 작으면 1페이지
로 이동한다. 그게 아니라면 (현재 블럭 -1) * 5
페이지로 이동한다.*5
는 내가 정한 $page_num = 5;
이다. 만약 내가 한 블록당 보여지는 페이지수를 3으로 했음 저곳이 3인 것이다. 변수로 적어주면 나중에 수정하기 편하다. (하지만 나는 그냥 5로 정해서 간단하게 5로 표현했다)<p class="page_next">
<?php if ($page >= $total_page) { ?>
<a href="notice.php?page=<?php echo $total_page; ?>">
<i class="fas fa-angle-right"></i>
</a>
<?php } else { ?>
<a href="notice.php?page=<?php echo $page + 1; ?>">
<i class="fas fa-angle-right"></i>
</a>
<a href="notice.php?page=<?php echo $now_block != 1 ? ($now_block == $total_block ? $total_page : $now_block * 5 + 1) : $e_pageNum + 1; ?>" title="다음 목록">
<i class="fas fa-angle-double-right"></i>
</a>
<?php } ?>
</p>
>
버튼은 페이지+1
이다. 한 페이지씩 증가하게 해주는 것이다.>>
버튼은 다음 블럭에 있는 젤 첫번째 번호로 가게해주는 버튼이다. 만약 내가 현재 있는 블럭이 1이 아니라면 밑에서 설명하고/ 내가 위치한 블럭이 1이라면(1,2,3,4,5 페이지 중에 위치해있다면) => $e_pageNum+1
(5+1=6page)으로 간다. 현재 블럭 * list_num + 1
을 한 페이지로 이동한다. 2번블럭 5 + 1 = 11페이지로 이동, 3번블럭 5 + 1 = 16페이지로 이동<div class="page_num">
<ul>
<?php for ($print_page = $s_pageNum; $print_page <= $e_pageNum; $print_page++) { ?>
<li>
<a id="page<?php echo $print_page; ?>" href="notice.php?page=<?php echo $print_page; ?>"><?php echo $print_page; ?></a>
</li>
<?php } ?>
</ul>
</div>