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

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

Barbara Streisand
Barbara Streisandasal
2024-10-24 08:01:02501semak imbas

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>

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!

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