Rumah >pangkalan data >tutorial mysql >Bagaimana untuk Melaksanakan Penomboran Pangkalan Data Mudah dalam PHP?

Bagaimana untuk Melaksanakan Penomboran Pangkalan Data Mudah dalam PHP?

Barbara Streisand
Barbara Streisandasal
2025-01-21 19:07:10203semak imbas
<code class="language-php"><?php
// Database connection (replace with your credentials)
$host = 'localhost';
$dbname = 'your_database';
$user = 'your_user';
$password = 'your_password';

try {
    $dbh = new PDO("mysql:host=$host;dbname=$dbname", $user, $password);
    $dbh->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
} catch (PDOException $e) {
    die("Database connection failed: " . $e->getMessage());
}


// Get total number of records
$stmt = $dbh->query('SELECT COUNT(*) FROM your_table');
$totalRecords = $stmt->fetchColumn();


// Pagination settings
$recordsPerPage = 20;
$totalPages = ceil($totalRecords / $recordsPerPage);
$currentPage = isset($_GET['page']) ? (int)$_GET['page'] : 1;
$currentPage = max(1, min($currentPage, $totalPages)); // Ensure page number is within valid range

$offset = ($currentPage - 1) * $recordsPerPage;


// Fetch data for current page
$stmt = $dbh->prepare("SELECT * FROM your_table LIMIT :limit OFFSET :offset");
$stmt->bindParam(':limit', $recordsPerPage, PDO::PARAM_INT);
$stmt->bindParam(':offset', $offset, PDO::PARAM_INT);
$stmt->execute();
$data = $stmt->fetchAll(PDO::FETCH_ASSOC);


// Display data
echo "<h2>Data (Page " . $currentPage . " of " . $totalPages . ")</h2>";
if ($data) {
    echo "<ul>";
    foreach ($data as $row) {
        echo "<li>" . implode(", ", $row) . "</li>"; // Adjust as needed for your table structure
    }
    echo "</ul>";
} else {
    echo "<p>No data found for this page.</p>";
}



// Display pagination links
echo "<div class='pagination'>";
for ($i = 1; $i <= $totalPages; $i++) {
    $activeClass = ($i == $currentPage) ? 'active' : '';
    echo "<a href='?page=" . $i . "' class='" . $activeClass . "'>" . $i . "</a>";
}
echo "</div>";


?>

<!DOCTYPE html>
<html>
<head>
<title>Simple Pagination</title>
<style>
.pagination a {
    display: inline-block;
    padding: 8px 12px;
    margin: 0 4px;
    text-decoration: none;
    border: 1px solid #ccc;
}

.pagination a.active {
    background-color: #4CAF50;
    color: white;
}
</style>
</head>
<body>
</body>
</html>
</code>

How to Implement Simple Database Pagination in PHP?

Contoh yang dipertingkat ini termasuk:

  • Pengendalian Ralat: Blok try-catch mengendalikan kemungkinan ralat sambungan pangkalan data.
  • Penyata Disediakan: Menggunakan pernyataan yang disediakan untuk mengelakkan kelemahan suntikan SQL. Ini penting untuk keselamatan.
  • Pengesahan Input: Walaupun contoh asal menggunakan filter_input, ia tidak mempunyai pengesahan yang menyeluruh. Versi ini memastikan nombor halaman ialah integer positif dan dalam julat yang sah.
  • Paparan Data yang Lebih Jelas: Data dipaparkan dalam format yang lebih mesra pengguna (senarai tidak tersusun). Anda perlu menyesuaikan bahagian implode agar sepadan dengan nama lajur jadual pangkalan data anda.
  • HTML Lengkap: Menyediakan struktur HTML lengkap untuk pemaparan yang lebih baik.
  • Penggayaan CSS: CSS asas disertakan untuk menggayakan pautan penomboran.
  • Nilai Pemegang Tempat: Ingat untuk menggantikan "your_database", "your_user", "your_password" dan "your_table" dengan bukti kelayakan pangkalan data dan nama jadual sebenar anda.

Ingat untuk mencipta pangkalan data dan jadual yang diperlukan sebelum menjalankan kod ini. Contoh yang dipertingkatkan ini menyediakan penyelesaian yang lebih mantap dan selamat untuk penomboran dalam PHP.

Atas ialah kandungan terperinci Bagaimana untuk Melaksanakan Penomboran Pangkalan Data Mudah dalam PHP?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn