Rumah > pangkalan data > tutorial mysql > Bagaimana untuk Menghinakan Pertanyaan MySQL dengan PHP untuk Memaparkan 10 Keputusan Setiap Halaman?

Bagaimana untuk Menghinakan Pertanyaan MySQL dengan PHP untuk Memaparkan 10 Keputusan Setiap Halaman?

Patricia Arquette
Lepaskan: 2024-12-02 04:06:09
asal
238 orang telah melayarinya

How to Paginate MySQL Queries with PHP to Display 10 Results Per Page?

Penomboran PHP & MySQL

Penomboran adalah penting apabila bekerja dengan set data yang besar kerana ia membenarkan pengguna memuatkan hanya sebahagian daripada yang berkaitan data , dengan itu mengurangkan beban pelayan dan meningkatkan kelajuan tindak balas aplikasi. Soal Jawab ini akan membimbing anda tentang cara menggunakan pertanyaan bernombor dengan PHP dan MySQL.

Soalan:

Bagaimana untuk menomborkan pertanyaan MySQL untuk memaparkan 10 hasil setiap halaman?

Jawapan:

<?php

// 数据库连接代码在此处省略

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

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

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

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

$query = "SELECT * FROM 'redirect'
WHERE 'user_id'= \''.$_SESSION['user_id'].' \' 
ORDER BY 'timestamp' LIMIT $startAt, $perPage";

$r = mysql_query($query);

// 在此处显示结果

echo $links; // 显示其他页面的链接
Salin selepas log masuk

Penjelasan:

  1. Tetapkan pembolehubah halaman: $perPage menentukan bilangan hasil setiap halaman, $page Dapatkan nombor halaman semasa (lalai kepada 1 jika tidak dinyatakan).
  2. Kira offset SQL: $startAt mengira offset yang diperlukan untuk klausa SKIP dalam pertanyaan.
  3. Dapatkan jumlah bilangan halaman hasil: Lakukan pertanyaan berasingan untuk mendapatkan jumlah bilangan hasil dalam set data, dan kemudian hitung jumlah halaman.
  4. Jana pautan bernombor: Gunakan gelung untuk menjana pautan ke halaman lain dan menyerlahkan halaman semasa.
  5. Lakukan pertanyaan bernombor: Tambah klausa OFFSET dan LIMIT pada pertanyaan utama untuk mengehadkan hasil pertanyaan.
  6. Tunjukkan hasil: Tunjukkan hasil dalam halaman tersuai dengan pautan penomboran di bahagian bawah halaman.

Atas ialah kandungan terperinci Bagaimana untuk Menghinakan Pertanyaan MySQL dengan PHP untuk Memaparkan 10 Keputusan Setiap Halaman?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php.cn
Kenyataan Laman Web ini
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
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan