게시판 블록페이징

황인환·2024년 5월 17일

index.php
게시판 윗부분

<?php
if(isset($_GET['page'])){
    $page=$_GET['page'];
}else{
    $page=1;
}

$row_num = mysqli_num_rows($result);
$list=5;  //한페이지에 나타날 페이지수
$block_ct = 5; //g한페이지에 나타날 블럭수

$block_num = ceil($page/$block_ct));//현재페이지
$block_start=(($block_num-1) *$block_ct)+1;//블럭시작
$block_end=$block_start+$block_ct-1;//블럭 끝

$total_page= ceil($row_num/$list); //생성된 총페이지
if($total_page < $block_end){  //만약 마지막 번호가 페이지 번호 보다 많다면 마지막 번호는 페이지수
    $block_end = $total_page;
}
$total_block=ceil($total_page/$block_ct); //생성된 총 블럭
$start_num=($page-1)*$list; //시작 게시물

$sql="SELECT * FROM board limit $start_num, $list";
?>

HTML 코드

게시판 아래부분 버튼

<?php
if($page <= 1){  //처음버튼
    echo "<li><strong>처음</strong></li>";
}else{
    echo "<li><a href='6.php?page=1'>처음</a></li>";
}
if($page <= 1){ //이전 버튼
}else{
    $pre=$page-1;
    echo "<li><a href='6.php?page'$pre></a></li>";
}
for($i=$block_start; $i <= $block_end; $i++){ //현재 페이지 
    if($i==$page){
        echo "<li><strong>$i</strong></li>";
    }else{
    }
}
if($total_page <= $page)){ //다음버튼
}else{
    $next = $page +1;
    echo "<li><a href='6.php?page='$next></a></li>";
}
if($page>=$total_page){ //끝버튼 
    echo "<li><strong>끝</strong></li>";
}else{
    echo "<li><a href='6.php?page'$total_page>끝</a></li>";
}
?>

추후 정렬이랑 검색이랑 합쳐서 따로 페이지 만들예정

간단히 설명하면
페이지하단에 처음|이전|현재페이지|다음|끝 버튼 들을 생성하고
클릭을 하면 5개 게시글만 생성되어 보여지고 나머지는 다음페이지로
넘어가는 코드이다.

--Normaltic Study 5주차---

0개의 댓글