Rumah  >  Artikel  >  rangka kerja php  >  Bagaimana untuk menetapkan penomboran halaman semasa dalam ThinkPHP 3.2

Bagaimana untuk menetapkan penomboran halaman semasa dalam ThinkPHP 3.2

PHPz
PHPzasal
2023-04-07 09:25:10579semak imbas

ThinkPHP 3.2 ialah rangka kerja PHP sumber terbuka yang berkuasa Semasa proses pembangunan, fungsi paging sering digunakan. Artikel ini akan memberi tumpuan kepada cara menetapkan penomboran halaman semasa dalam ThinkPHP 3.2.

Pertama, anda perlu menentukan jumlah data yang dipaparkan pada setiap halaman dalam pengawal (lalai ialah 20), dan dapatkan nombor halaman semasa. Anda boleh mendapatkan nombor halaman semasa melalui I('p',1) Jika tiada parameter yang diluluskan, ia lalai ke halaman 1.

public function getList(){
    $page_size = 10; // 每页显示10条数据
    $p = I('p',1); // 获取当前页码
    //TODO: ...
}

Kemudian, kedudukan permulaan setiap halaman data perlu dikira untuk melaksanakan pertanyaan paging dalam pangkalan data. Dengan mengandaikan bahawa data dalam jadual pertanyaan user boleh dinomborkan menggunakan kaedah limit yang disediakan oleh ThinkPHP.

public function getList(){
    $page_size = 10; // 每页显示10条数据
    $p = I('p',1); // 获取当前页码
    $user = M('User');
    $offset = ($p-1)*$page_size; // 计算当前页数据的起始位置
    $list = $user->limit($offset.','.$page_size)->select();// 按分页查找数据
}

Dalam kod di atas, gunakan $offset = ($p-1)*$page_size; apabila mengira kedudukan permulaan data, dan kemudian gunakan kaedah limit() untuk melaksanakan pertanyaan halaman.

Akhir sekali, kod halaman perlu dipaparkan dalam fail paparan supaya pengguna boleh membelok halaman dengan mudah. Anda boleh menggunakan kaedah page() yang disediakan oleh ThinkPHP untuk menjana kod halaman gaya Bootstrap.

public function getList(){
    $page_size = 10; // 每页显示10条数据
    $p = I('p',1); // 获取当前页码
    $user = M('User');
    $offset = ($p-1)*$page_size; // 计算当前页数据的起始位置
    $list = $user->limit($offset.','.$page_size)->select();// 按分页查找数据
    $count = $user->count(); // 获取数据总数
    $Page = new \Think\Page($count,$page_size); // 实例化分页类
    $show = $Page->show(); // 分页显示输出
    $this->assign('list',$list);
    $this->assign('page',$show); // 分配分页代码到视图
    $this->display();
}

Dalam kod di atas, gunakan $count = $user->count(); untuk mendapatkan jumlah bilangan data, kemudian gunakan new ThinkPage($count,$page_size); untuk membuat instantiate kelas paging, masukkan jumlah nombor dan jumlah data setiap halaman, dan akhirnya gunakan $Page->show(); untuk menjana rentetan aksara paparan halaman. Kemudian hantar rentetan penomboran ke fail paparan dan gunakan $this->assign('page',$show); untuk menetapkan pembolehubah.

Ringkasan

Menetapkan halaman halaman semasa dalam ThinkPHP 3.2 memerlukan tiga langkah berikut:

  1. Mentakrifkan jumlah data yang dipaparkan pada setiap halaman dalam pengawal, dan mendapatkan nombor halaman halaman semasa;
  2. mengira kedudukan permulaan setiap halaman data dan menggunakan kaedah limit untuk pertanyaan halaman halaman; ia untuk memudahkan pengguna membelek halaman.
  3. Di atas adalah keseluruhan kandungan artikel ini, saya harap ia akan membantu anda. Jika anda mempunyai sebarang pertanyaan atau cadangan, sila tinggalkan mesej di ruangan komen dan saya akan membalas dengan segera.

Atas ialah kandungan terperinci Bagaimana untuk menetapkan penomboran halaman semasa dalam ThinkPHP 3.2. 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