Rumah > pangkalan data > tutorial mysql > Bagaimana untuk Melaksanakan Penomboran dengan Susunan Rawak dalam PHP dan MySQL?

Bagaimana untuk Melaksanakan Penomboran dengan Susunan Rawak dalam PHP dan MySQL?

Barbara Streisand
Lepaskan: 2024-10-24 08:01:02
asal
593 orang telah melayarinya

How to Implement Pagination with Random Ordering in PHP and MySQL?

Penomboran MySQL PHP dengan Susunan Rawak

Apabila melaksanakan fungsi carian dengan penomboran pada tapak web, adalah penting untuk menangani isu yang berkaitan dengan rawak susunan keputusan. Artikel ini menyediakan penyelesaian kepada cabaran berikut:

  1. Tidak termasuk hasil yang dilihat sebelum ini pada halaman berikutnya:
    Untuk mengelakkan hasil yang telah dilihat daripada muncul semula, penyelesaian yang cekap ingatan adalah dengan gunakan teknik yang dipanggil penomboran dengan senarai pengecualian. Ini melibatkan penyimpanan ID hasil yang dipaparkan dalam sesi atau pangkalan data dan mengecualikannya daripada pertanyaan berikutnya.
  2. Memastikan set keputusan yang berbeza pada halaman pertama:
    Untuk menjamin unik set hasil pada halaman pertama, anda boleh menggunakan fungsi RAND() dengan nilai benih yang tetap. Dengan menukar nilai benih ini selepas setiap lawatan, anda boleh memastikan pesanan baharu tanpa menjejaskan pengisihan rawak.
  3. Pelaksanaan praktikal nilai benih:
    Dalam MySQL, anda boleh menggunakan RAND( SEED), di mana SEED ialah integer yang ditentukan pengguna. Dengan menetapkan benih kepada nilai yang berbeza setiap kali pengguna melawat halaman pertama, anda boleh mencapai susunan rawak lagi berbeza.

Contoh:

<code class="php"><?php
session_start();

// Generate a unique seed value for the first page
if (!isset($_SESSION['seed'])) {
    $_SESSION['seed'] = rand(1, 1000);
}

// Exclude previously seen results
$excludedIds = array();
if (isset($_SESSION['seenResults'])) {
    $excludedIds = $_SESSION['seenResults'];
}

// Query with random ordering and exclusion
$query = "SELECT * FROM table WHERE id NOT IN ('" . implode("', '", $excludedIds) . "') ORDER BY RAND(" . $_SESSION['seed'] . ") LIMIT 10";</code>
Salin selepas log masuk

Atas ialah kandungan terperinci Bagaimana untuk Melaksanakan Penomboran dengan Susunan Rawak dalam PHP dan MySQL?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php
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