[ Web 관련 ]/php
php 페이징
BIZLAB
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> ";
}