Bagaimana untuk Melaksanakan Penomboran dengan Susunan Rawak dalam PHP MySQL?

Susan Sarandon
Lepaskan: 2024-10-24 07:57:02
asal
581 orang telah melayarinya

How to Implement Pagination with Random Ordering in PHP MySQL?

Penomboran MySQL PHP dengan Susunan Rawak

Seperti yang dinyatakan, tapak web menghadapi masalah dengan memesan hasil carian pada halaman kandungan mereka menggunakan penomboran sistem. Pertanyaan SQL yang digunakan adalah seperti berikut:

<code class="sql">SELECT * FROM table ORDER BY RAND() LIMIT 0,10;</code>
Salin selepas log masuk

Isu ini timbul dalam tiga senario:

  1. Pengecualian Hasil Yang Dilihat Sebelum Ini: Apabila pengguna menavigasi ke halaman seterusnya, hasil yang dipaparkan sebelum ini mesti dikecualikan daripada pertanyaan berikutnya sambil mengekalkan pesanan rawak.
  2. Keputusan Baru di Halaman 1: Pengguna secara konsisten menghadapi pesanan rawak apabila kembali ke yang pertama muka surat. Tingkah laku ini menimbulkan persoalan sama ada penomboran boleh digunakan secara berkesan dalam senario ini.
  3. Pelaksanaan Praktikal Benih: Meneroka cara untuk melaksanakan fungsi benih dalam MySQL untuk mencapai susunan rawak yang diingini.

Penyelesaian:

Fungsi MySQL RAND(SEED) menangani isu ini. Seperti yang dinyatakan dalam dokumentasi, "Jika argumen integer malar N ditentukan, ia digunakan sebagai nilai benih." (http://dev.mysql.com/doc/refman/5.0/en/mathematical-functions.html#function_rand).

Menggunakan ini pada contoh pertanyaan menghasilkan senario di mana pesanan kekal rawak sementara konsisten untuk benih tertentu:

<code class="sql">SELECT * FROM your_table ORDER BY RAND(351);</code>
Salin selepas log masuk

Benih boleh diubah suai setiap kali pengguna mengakses halaman hasil pertama dan disimpan dalam sesi mereka. Ini memastikan susunan rawak yang berbeza setiap kali halaman pertama dilawati tanpa menjejaskan susunan rawak halaman berikutnya.

Atas ialah kandungan terperinci Bagaimana untuk Melaksanakan Penomboran dengan Susunan Rawak dalam PHP 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