Pertama sekali, Laravel ialah rangka kerja PHP yang sangat popular yang menyediakan satu siri fungsi dan alatan untuk membantu kami membangunkan aplikasi web dengan pantas. Salah satu fungsi yang sangat berguna ialah Laravel menyediakan Paginator kelas paging terbina dalam, yang boleh melakukan operasi paging data dengan mudah. Walau bagaimanapun, kadangkala kami mungkin perlu menggunakan paging dalam persekitaran di luar Laravel, seperti dalam program PHP yang ditulis oleh kami sendiri, dalam hal ini kami perlu melaksanakan fungsi paging sendiri.
Dalam artikel ini, kami akan memperkenalkan cara melaksanakan fungsi halaman dalam persekitaran di luar Laravel, dan menyelesaikan beberapa masalah ralat yang mungkin anda hadapi.
1. Pelaksanaan fungsi paging
Pertama sekali, mari kita lihat kaedah pelaksanaan khusus paging. Dalam data yang ingin kami kemukakan, kami perlu menjelaskan parameter berikut:
1 Jumlah amaun data: jumlah
2 >3. Nombor halaman semasa: currentPage
Melalui parameter ini, kami boleh merealisasikan halaman data. Berikut ialah kod sampel:
Di sini kami menggunakan kaedah pengiraan asli PHP untuk melaksanakan halaman data. Mula-mula, kami mengira jumlah bilangan halaman melalui jumlah data dan jumlah data yang dipaparkan pada setiap halaman, dan kemudian menggunakan nombor halaman semasa untuk mengira data yang akan dipaparkan pada halaman semasa. Akhirnya, data paging dikeluarkan dan dipaparkan dalam format json.<?php $total = 1000; //总数据量 $perPage = 20; //每页显示的数据量 $currentPage = 1; //当前页数 //计算总页数 $totalPages = ceil($total / $perPage); //计算当前页要显示的数据 $data = array(); for($i = ($currentPage - 1) * $perPage; $i < $currentPage * $perPage; $i++){ if($i < $total){ $data[] = $i; }else{ break; } } //输出分页数据 echo json_encode(array( 'total' => $total, 'perPage' => $perPage, 'currentPage' => $currentPage, 'totalPages' => $totalPages, 'data' => $data ));
2. Kemungkinan ralat
Semasa proses menggunakan fungsi halaman, anda mungkin menghadapi beberapa masalah ralat. Mari kita lihat ralat yang mungkin anda hadapi dan penyelesaiannya.
1. Pembolehubah tidak ditentukan: item
Apabila menggunakan fungsi halaman Paginator terbina dalam Laravel, jika ralat ini berlaku, ia biasanya kerana data halaman tidak ditetapkan dengan betul. Khususnya, kita mungkin terlupa untuk memanggil kaedah penomboran untuk mendapatkan data, atau tidak menghantar data ke kelas Paginator dengan betul.
Penyelesaian: Pastikan untuk memanggil kaedah penomboran dengan betul, seperti yang ditunjukkan di bawah:
2. Panggilan ke kaedah yang tidak ditentukan IlluminatePaginationLengthAwarePaginator::links()$items = DB::table('users')->paginate(15);
Apabila menggunakan. Laravel Jika ralat ini berlaku apabila menggunakan fungsi paging Paginator terbina dalam, ia biasanya kerana kami tidak lulus parameter dengan betul apabila menggunakan kaedah pautan(). Khususnya, kita perlu menghantar objek kelas LengthAwarePaginator sebagai parameter kepada kaedah pautan().
Penyelesaian: Pastikan anda lulus parameter dengan betul seperti berikut:
3 Kaedah IlluminateDatabaseQueryBuilder::paginate tidak wujud.$items = DB::table('users')->paginate(15); echo $items->links('vendor.pagination.bootstrap-4');
Apabila menggunakan terbina dalam Laravel. Jika ralat ini berlaku semasa menggunakan fungsi paging Paginator, ia biasanya kerana kami tidak memanggil kaedah paginate() dengan betul apabila menggunakannya Secara khusus, kami mungkin terlupa untuk menghantar hasil pertanyaan kepada kaedah paginate().
Penyelesaian: Pastikan hasil pertanyaan dihantar ke kaedah paginate() dengan betul, seperti yang ditunjukkan di bawah:
Ringkasan$items = DB::table('users')->where('active', true)->paginate(15);
Dalam artikel ini, kami membincangkan cara untuk Melaksanakan fungsi paging dalam persekitaran selain Laravel dan menyelesaikan beberapa masalah pelaporan ralat yang mungkin anda hadapi. Fungsi paging ialah salah satu fungsi yang paling biasa digunakan dalam pembangunan web. Ia boleh membantu kami mengurus dan memaparkan data dengan lebih baik. Sama ada dalam Laravel atau dalam rangka kerja atau konteks lain, kita perlu menguasai pelaksanaan paging dan mengelakkan ralat yang dihadapi.
Atas ialah kandungan terperinci Bagaimana untuk melaksanakan fungsi penomboran di luar Laravel. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!