“ 지연되는 프로젝트에 인력을 더 투입하면 오히려 더 늦어진다. ”
- Frederick Philips Brooks
Mythical Man-Month 저자
728x90
반응형
PHP 웹사이트 게시판 페이지 만들기
게시판 한 페이지에 20개씩 보이기
// $page = 1;
if(isset($_GET['page'])){
$page = (int) $_GET['page'];//숫자로 인식해서 오류 없도록 선언해줌
} else {
$page = 1;
}
$viewNum =20;
$viewLimit = ($viewNum * $page) - $viewNum;
//1페이지부터 페이지당 2-개씩 내림차순으로 보여줌(최근이 먼저나와야하니까)
//1~20 DESC LIMIT 0, 20 -->page1 (viewNum * 1) - viewNum
//21~40 DESC LIMIT 20, 20 -->page2 (viewNum * 2) - viewNum
//41~60 DESC LIMIT 40, 20 -->page3 (viewNum * 3) - viewNum
//61~80 DESC LIMIT 60, 20 -->page4 (viewNum * 4) - viewNum
하단 페이지 표시
<?php
//게시글의 총 갯수
//몇 페이지?
$sql = "SELECT count(boardID) FROM board";
$result = $connect -> query($sql);
$boardTotalCount = $result -> fetch_array(MYSQLI_ASSOC);
$boardTotalCount = $boardTotalCount['count(boardID)'];
// echo $boardTotalCount;
//총 페이지 갯수 :올림으로 계산해야하므로 ceil씀
$boardTotalCount = ceil($boardTotalCount/$viewNum);
// 1 2 3 4 5 6 [7] 8 9 10 11 12 13
$pageView = 5;
$startPage = $page - $pageView;
$endPage = $page + $pageView;
//처음페이지/마지막페이지 초기화
if($startPage <1) $startPage =1;
if($endPage >= $boardTotalCount) $endPage = $boardTotalCount;
//처음으로/이전
if($boardTotalCount > 1 && $page <= $boardTotalCount){
if($page != 1){
$prevPage = $page-1;
echo "<li><a href='board.php?page=1'>처음으로</a><li>";
echo "<li><a href='board.php?page={$prevPage}'>이전</a><li>";
}
}
//페이지
for($i=$startPage; $i<=$endPage; $i++){
$active ="";
if($i == $page) $active = "active";
echo "<li class='{$active}'><a href='board.php?page={$i}'>{$i}</a></li>";
}
//마지막으로/다음
if($page != $boardTotalCount && $page <= $boardTotalCount){
$nextPage = $page+1;
echo "<li><a href='board.php?page={$nextPage}'>다음</a><li>";
echo "<li><a href='board.php?page={$boardTotalCount}'>마지막으로</a><li>";
}
PHP에서 isset() 함수는 변수가 설정되어 있고 NULL이 아닌지 확인하는 데 사용됩니다.
변수가 설정되어 있고 NULL이 아니면, isset() 함수는 true를 반환하고 그렇지 않으면 false를 반환합니다.
다음은 isset() 함수를 사용한 예제입니다.