Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Bagaimana untuk Melaksanakan Penomboran dengan PHP dan MySQL untuk Set Data Besar?

Bagaimana untuk Melaksanakan Penomboran dengan PHP dan MySQL untuk Set Data Besar?

DDD
DDDasal
2024-11-03 23:58:30598semak imbas

How to Implement Pagination with PHP and MySQL for Large Datasets?

Penomboran dengan PHP dan MySQL

Menomborkan set data yang besar ialah tugas biasa apabila mereka bentuk aplikasi web responsif. Artikel ini akan menunjukkan kaedah untuk melaksanakan penomboran dengan PHP dan MySQL, membolehkan anda memaparkan bilangan hasil yang terhad setiap halaman.

Secara khusus, kami menyasarkan untuk menomborkan hasil pertanyaan MySQL hipotetikal yang mendapatkan semula rekod daripada jadual yang dipanggil 'ubah hala' berdasarkan 'id_pengguna' melalui sesi PHP.

Pelaksanaan Kod

Untuk melaksanakan penomboran, kami boleh memanfaatkan skrip PHP berikut:

<code class="php"><?php

// MySQL connection code (not shown for brevity)

// Set pagination parameters
$perPage = 10;
$page = (isset($_GET['page'])) ? (int)$_GET['page'] : 1;
$startAt = $perPage * ($page - 1);

// Get total number of records
$query = "SELECT COUNT(*) as total FROM redirect WHERE user_id = '".$_SESSION['user_id']."'";
$r = mysql_fetch_assoc(mysql_query($query));

// Calculate total pages
$totalPages = ceil($r['total'] / $perPage);

// Generate pagination links
$links = "";
for ($i = 1; $i <= $totalPages; $i++) {
  $links .= ($i != $page )
            ? "<a href='index.php?page=$i'>Page $i</a> "
            : "$page ";
}


// Execute paginated query
$query = "SELECT * FROM 'redirect' WHERE 'user_id'= \''.$_SESSION['user_id'].' \' ORDER BY 'timestamp' LIMIT $startAt, $perPage";
$r = mysql_query($query);

// Display results and pagination links
// ...

echo $links; // display pagination links
?></code>

Penjelasan

  • $perPage mentakrifkan bilangan rekod untuk dipaparkan setiap halaman.
  • $page mewakili halaman semasa yang dipaparkan.
  • $startAt mengira indeks permulaan rekod untuk halaman semasa.
  • Pertanyaan COUNT(*) mengira jumlah bilangan rekod untuk menentukan bilangan halaman yang diperlukan.
  • Pautan penomboran dijana dengan $pautan dan halaman aktif diserlahkan.
  • Akhir sekali, pertanyaan MySQL yang dinomborkan dilaksanakan, mengimbangi keputusan dengan $startAt dan mengehadkan bilangan baris yang dikembalikan kepada $perPage.

Atas ialah kandungan terperinci Bagaimana untuk Melaksanakan Penomboran dengan PHP dan MySQL untuk Set Data Besar?. 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