Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Kaedah kelui data PHP dan penjelasan terperinci tentang masalah biasa

Kaedah kelui data PHP dan penjelasan terperinci tentang masalah biasa

WBOY
WBOYasal
2023-06-09 08:42:311351semak imbas

1. Pengenalan
Dengan peningkatan berterusan pemprosesan data, halaman data telah menjadi fungsi yang sangat penting. Sebagai bahasa yang digunakan secara meluas dalam pembangunan web, PHP secara semula jadi mempunyai kaedah paging data sendiri. Artikel ini akan menyediakan analisis terperinci tentang kaedah paging data PHP dan masalah biasa.

2. Kaedah paging data PHP
1. Kaedah asal
Cara paling mudah untuk melakukan paging data adalah dengan menggunakan klausa LIMIT pernyataan SQL, berdasarkan bilangan rekod yang perlu dipaparkan pada setiap halaman dan nombor halaman semasa Kira offset dan tambah LIMIT apabila membuat pertanyaan, seperti:

PILIH nama_pengguna, alamat DARI pengguna LIMIT 10, 10
Kod di atas bermaksud untuk mengambil 10 rekod daripada. jadual pengguna, bermula dari rekod ke-11 . Parameter pertama menunjukkan rekod mana yang akan dimulakan dalam urutan, dan parameter kedua menunjukkan bilangan rekod untuk mengehadkan output.

Pendekatan ini mudah dan berkesan, tetapi mungkin terdapat masalah dengan data yang tidak lengkap. Sebagai contoh, terdapat 100 keping data, 10 keping dipaparkan pada setiap halaman, dan terdapat 10 halaman secara keseluruhan. Ia kini berada di halaman 10, tetapi jika satu rekod dipadamkan, akan terdapat sejumlah 99 keping data, iaitu, hanya 9 halaman, tetapi pengguna masih boleh mengakses halaman 10, dan ralat 404 akan berlaku.

2. Paging dalam talian
Prinsipnya adalah untuk menghantar nombor halaman semasa dan bilangan rekod yang dipaparkan pada setiap halaman ke halaman PHP hujung belakang, gunakan pernyataan had untuk menanyakan data dan lulus data yang ditanya ke bahagian hadapan bahagian hadapan memaparkannya melalui kod JS.

Langkah-langkah khusus adalah seperti berikut:

A.

B. Apabila menanyakan data, tanyakannya dalam halaman dan kembalikan data yang ditanya dalam bentuk tatasusunan.

C. Kira jumlah halaman dan kembalikan.

D. Bahagian hadapan menggunakan kod JS untuk memaparkan data yang ditanya dan jumlah halaman.

Kaedah ini menyelesaikan masalah selepas bilangan halaman berubah, tetapi bahagian hadapan perlu menggunakan AJAX untuk pertanyaan tak segerak, dan kelajuan pemuatan akan menjadi lebih perlahan.

3. Gunakan kelas Paginator
Rangka kerja Laravel menyediakan kelas Penomboran yang boleh menomborkan data dengan mudah.

Langkah-langkah untuk digunakan adalah seperti berikut:

A. Tanya semua data dalam pengawal dan gunakan kaedah Penomboran::make untuk menomborkan data.

$users = Pengguna::all();
$pageSize = 10;
$pagedData = Penombor::make($users->toArray(), count($users), $pageSize);

B. Gunakan kaedah Paginator::links di hujung hadapan untuk menjana pautan paging.

{{ $pagedData->links() }}

Kaedah ini mudah dan mudah, tetapi ia memerlukan penggunaan rangka kerja Laravel dan mungkin tidak sesuai untuk semua projek.

3. Soalan Lazim

  1. Isu Prestasi
    Masalah terbesar dengan pertanyaan halaman adalah isu prestasi Terutamanya apabila terdapat terlalu banyak rekod data halaman, kelajuan pertanyaan akan menjadi lambat sangat. Untuk menyelesaikan masalah ini, anda boleh mengehadkan bilangan rekod yang dipaparkan pada setiap halaman atau meningkatkan caching untuk meningkatkan kelajuan pertanyaan.
  2. Cegah SQL Injection
    Apabila menggunakan pernyataan SQL untuk membuat pertanyaan, anda mesti mengelakkan masalah suntikan SQL. Anda boleh menggunakan kelas PDO (Objek Data PHP) yang disediakan dalam PHP untuk menyelesaikan masalah ini. PDO menyediakan kaedah prapemprosesan pernyataan SQL yang selamat yang boleh mengelakkan masalah suntikan SQL dan meningkatkan prestasi pertanyaan.
  3. Masalah menukar bilangan penomboran
    Apabila bilangan penomboran berubah, anda perlu memberi perhatian kepada pengendalian ralat apabila pengguna mengakses nombor halaman yang tidak wujud. Anda boleh menetapkan nombor halaman secara automatik ke halaman terakhir apabila hasil pertanyaan kosong.

4. Kesimpulan
Penomboran adalah fungsi yang sangat biasa dalam pembangunan web Memilih kaedah dan langkah berjaga-jaga yang sesuai boleh mengurangkan ralat dan isu prestasi dalam pertanyaan penomboran. Artikel ini memperkenalkan tiga kaedah paging data dan masalah biasa dalam PHP, dengan harapan dapat membantu pembaca mengembangkan nilai praktikal dalam projek sebenar.

Atas ialah kandungan terperinci Kaedah kelui data PHP dan penjelasan terperinci tentang masalah biasa. 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