페이지 처리

페이지 처리

QA

페이지 처리

본문

제가 관리하는 다른 사이트에서 글을 가져와서 리스트로 뿌려주려 합니다.

게시글은 잘 가져와지는데 페이징 처리가 안되네요.

10개씩 끈어서 페이징 처리를 하려고 하는데 20개는 끈어지는데

페이징을 어찌해야할지요 ㅠㅠ

 


    <?php
 
            /* Set to UTF-8 Encoding */
            mysqli_query($conn, 'set session character_set_connection=utf8;');
            mysqli_query($conn, 'set session character_set_results=utf8;');
            mysqli_query($conn, 'set session character_set_client=utf8;');
             
            /* Load data */
            $query = 'SELECT * FROM g5_write_estimate ORDER BY wr_datetime DESC Limit 20';
            $result = mysqli_query($conn, $query);
 
     echo '<table><tr>' .
                '<td>No</td>
     <td>담당자</td>
     <td>전화번호</td>
     <td>클라이언트</td>
     <td>날짜</td>' .
                '</tr>';
            while( $row = mysqli_fetch_array($result) ) {
                echo '<tr><td>' . ++ $i . '</td>' .
                     '<td>' . $row['wr_subject'] . '</td>' .
      '<td>' . $row['wr_4'] . '</td>' .
                     '<td>' . $row['wr_name'] . '</td>' .
                     '<td>' . $row['wr_datetime'] . '</td></tr>';
            }
 
            echo '</table>';
            mysqli_close($conn);
   
        ?>

이 질문에 댓글 쓰기 :

답변 2

페이지네이션은 구성하실려면, 아래와 같이 해주세요^^
--------------------------
이렇게 총갯수를 구하고,
'SELECT COUNT(*) AS cnt FROM g5_write_estimate'
$total_count = $row['cnt']; //데이터 갯수
--------------------------

페이지를 계산한뒤
$rows = 10;  //한페이지에 나올 데이터개수
$total_page  = ceil($total_count / $rows);  // 전체 페이지 계산
if ($page < 1) { $page = 1; } // 페이지가 없으면 첫 페이지 (1 페이지)
$from_record = ($page - 1) * $rows; // 시작 열을 구함
--------------------------

해당 페이지의 데이터들을 가져옵니다.
'SELECT * FROM g5_write_estimate ORDER BY wr_datetime DESC Limit $from_record, $rows'

--------------------------

$total_page로 페이지 구성하시고, 페이지네이션에는 &page=페이지숫자

<a href="현재페이지.php?page=3">3</a>

GET 형식으로 넣어주시구요.

알려주신데로 했는데 게시글 안불러와지네요 ㅜㅜ
디비접속은 잘되고 있구요

<?php
 
            /* Set to UTF-8 Encoding */
            mysqli_query($conn, 'set session character_set_connection=utf8;');
            mysqli_query($conn, 'set session character_set_results=utf8;');
            mysqli_query($conn, 'set session character_set_client=utf8;');

$query = 'SELECT COUNT(*) AS cnt FROM g5_write_estimate'
$total_count = $row['cnt']; //데이터 갯수

$rows = 10;  //한페이지에 나올 데이터개수
$total_page  = ceil($total_count / $rows);  // 전체 페이지 계산
if ($page < 1) { $page = 1; } // 페이지가 없으면 첫 페이지 (1 페이지)
$from_record = ($page - 1) * $rows; // 시작 열을 구함
           
            /* Load data */
            $query = 'SELECT * FROM g5_write_estimate ORDER BY wr_datetime DESC Limit $from_record, $rows';
            $result = mysqli_query($conn, $query);
 
    echo '<table><tr>' .
                '<td>No</td>
    <td>담당자</td>
    <td>전화번호</td>
    <td>클라이언트</td>
    <td>날짜</td>' .
                '</tr>';
            while( $row = mysqli_fetch_array($result) ) {
                echo '<tr><td>' . ++ $i . '</td>' .
                    '<td>' . $row['wr_subject'] . '</td>' .
      '<td>' . $row['wr_4'] . '</td>' .
                    '<td>' . $row['wr_name'] . '</td>' .
                    '<td>' . $row['wr_datetime'] . '</td></tr>';
            }
 
            echo '</table>';
 
?>

$query 쿼리변수만 만드셨네요.
mysqli_query()를 써본지 너무 오래되서 이렇게 하는게 맞나요?ㅎㅎ;;

$query = mysqli_query($conn, 'SELECT COUNT(*) AS cnt FROM g5_write_estimate');
$row = mysqli_fetch_array($query);
$total_count = $row['cnt']; //데이터 갯수

현재 보여주신 소스코드에는 페이지에 대한 내용이 없습니다.

혹시, 쿼리문에 20을 10으로 바꿔보세요

$query = 'SELECT * FROM g5_write_estimate ORDER BY wr_datetime DESC Limit 20';

답변을 작성하시기 전에 로그인 해주세요.
전체 22
QA 내용 검색

회원로그인

(주)에스아이알소프트 / 대표:홍석명 / (06211) 서울특별시 강남구 역삼동 707-34 한신인터밸리24 서관 1404호 / E-Mail: admin@sir.kr
사업자등록번호: 217-81-36347 / 통신판매업신고번호:2014-서울강남-02098호 / 개인정보보호책임자:김민섭(minsup@sir.kr)
© SIRSOFT