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:
limit
untuk pertanyaan halaman halaman; ia untuk memudahkan pengguna membelek halaman. 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!