WEB/PHP

[php] 웹사이트 게시판 페이지 만들기 2

aimee418 2023. 4. 27. 08:25

“ 지연되는 프로젝트에 인력을 더 투입하면 오히려 더 늦어진다. ”

- 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() 함수를 사용한 예제입니다.