본문으로 바로가기

php 페이징

category [ Web 관련 ]/php 2024. 4. 28. 12:07
<?php
// 데이터베이스 연결 설정
$host = 'localhost';
$dbname = 'your_database_name';
$username = 'your_username';
$password = 'your_password';

// 데이터베이스 연결
$conn = new mysqli($host, $username, $password, $dbname);

// 연결 확인
if ($conn->connect_error) {
    die("Connection failed: " . $conn->connect_error);
}

// 페이지 번호 설정
$page = isset($_GET['page']) ? $_GET['page'] : 1;
$perPage = 10; // 페이지당 항목 수

// 시작 오프셋 계산
$offset = ($page - 1) * $perPage;

// 쿼리 실행하여 데이터 가져오기
$sql = "SELECT * FROM your_table_name LIMIT $offset, $perPage";
$result = $conn->query($sql);

// 결과 표시
if ($result->num_rows > 0) {
    while ($row = $result->fetch_assoc()) {
        echo $row['column1'] . ' - ' . $row['column2'] . '<br>';
    }
} else {
    echo "No results found";
}

// 전체 항목 수 계산
$totalSql = "SELECT COUNT(*) AS total FROM your_table_name";
$totalResult = $conn->query($totalSql);
$totalRows = $totalResult->fetch_assoc()['total'];

// 페이지 링크 표시
$totalPages = ceil($totalRows / $perPage);
for ($i = 1; $i <= $totalPages; $i++) {
    echo "<a href='?page=$i'>$i</a> ";
}

// 데이터베이스 연결 닫기
$conn->close();
?>

 

 

<?php

include_once($_SERVER["DOCUMENT_ROOT"].'/PHP02/03/dbconfig.php');    // 라이브러리

$db = mysqli_connect(MYSQL_HOST, MYSQL_USER, MYSQL_PASSWORD, MYSQL_DB);

if(!$db) {
    die('데이터베이스 연결에 문제가 있습니다.\n관리자에게 문의 바랍니다.');
}

//$result = mysqli_query($db, 'SELECT * FROM TB_Test LIMIT 30');


// 페이지 번호 설정
$page = isset($_GET['page']) ? $_GET['page'] : 1;
$perPage = 3; // 페이지당 항목 수

// 시작 오프셋 계산
$offset = ($page - 1) * $perPage;

// 전체 항목 수 계산
$totalSql = "SELECT COUNT(*) AS total FROM TB_Test";
$totalResult = $db->query($totalSql);
$totalRows = $totalResult->fetch_assoc()['total'];

// 쿼리 실행하여 데이터 가져오기
$sql = "SELECT * FROM TB_Test LIMIT $offset, $perPage";
$result = $db->query($sql);

// 결과 표시
if ($result->num_rows > 0) {
    //전체 게시글 수 - ( ( 현재 페이지 - 1 ) * 페이지 당 게시글 수 )
    $count = $totalRows - ($page - 1) * $perPage;
    while ($row = $result->fetch_assoc()) {
        echo $count-- . ': ' . $row['text1'] . ' - ' . $row['text2'] . '<br>';
    }
} else {
    echo "No results found";
}



// 페이지 링크 표시
$totalPages = ceil($totalRows / $perPage);
for ($i = 1; $i <= $totalPages; $i++) {
    echo "<a href='?page=$i'>$i</a> ";
}