Thinkphp搜索时首页分页和搜索页保持条件分页的方法
这篇文章主要介绍了Thinkphp搜索时首页分页和搜索页保持条件分页的方法,以两种不同的方式详细分析了实现搜索时分页情况下保持搜索条件的方法,是非常具有实用价值
本文实例讲述了Thinkphp实现搜索时首页分页和搜索页保持条件分页的方法。分享给大家供大家参考。具体实现方法如下:
在做搜索查询时突然发现在首页用的分页代码在搜索页使用时出现错误,首页分页代码(代码中标注start与end部分为分页代码)
复制代码 代码如下:
public function index(){
$res=D('Info');// 实例化Data数据对象
/**********start************/
import('ORG.Util.Page');// 导入分页类
$count= $res->count();// 查询满足要求的总记录数
$Page = new Page($count,3);// 实例化分页类 传入总记录数(另一个参数为自定义分页条数)
//$Page->rollPage = 3;//默认情况下,页面显示的页数是5 可以修改
$show= $Page->show();// 分页显示输出
// 进行分页数据查询
$list = $res->order('iid desc')->limit($Page->firstRow.','.$Page->listRows)->select();
/**********end************/
$this->assign('list',$list);// 赋值数据集
/*********start*************/
$this->assign('page',$show);// 赋值分页输出
/*********end*************/
$this->display(); // 输出模板
}
搜索代码(代码中start与end之间标注的部分为分页代码,注释标注了分页跳转时保存查询条件),以下两种方法都可以保存条件(不清楚这样是不是写的规范),查询:
复制代码 代码如下:
public function search() {
$res=D('Info');
$name=$_REQUEST['name'];
$sear['name'] = array('like','%'.$name.'%');
/*********start*************/
import('ORG.Util.Page');// 导入分页类
$count=$res->where($sear)->count();//查询数据条数
$Page=new Page($count,2);//实例化分页函数
/*********end*************/
//分页跳转的时候保存查询条件
foreach($sear as $key=>$val) {
$Page->parameter .= "$key=".urlencode($name)."&";//赋值给Page
}
/*********start*************/
$show=$Page->show();//分页显示输出
// 进行分页数据查询
$val=$res->where($sear)->$val=$res->where($sear)->limit($Page->firstRow.','.$Page->listRows)->select();
/*********end*************/
$this->assign('search',$val);
/*********start*************/
$this->assign('page',$show);
/*********end*************/
$this->display();
}
注:
复制代码 代码如下:
foreach($sear as $key=>$val) {
$Page->parameter .= "$key=".urlencode($name)."&";//赋值给Page
}
"$key=".urlencode($name)."&";
第二种:
复制代码 代码如下:
public function search() {
$res=D('Info');
$name=$_REQUEST['name'];
$sear['name'] = array('like','%'.$name.'%');
import('ORG.Util.Page');// 导入分页类
$count=$res->where($sear)->count();//查询数据条数
$Page=new Page($count,2);//实例化分页函数
//分页跳转的时候保证查询条件
foreach($sear as $key=>$val) {
$Page->parameter .= "$key=".urlencode($val[1]).'&';
}
$show=$Page->show();//分页显示输出
// 进行分页数据查询
$val=$res->where($sear)->limit($Page->firstRow.','.$Page->listRows)->select();
$this->assign('search',$val);
$this->assign('page',$show);
$this->display();
}
使用$val[1]是因为$sear是一个数组,而$val[1]对应的是我要查找的条件,这样就可以保持条件进行分页了.
希望本文所述对大家基于ThinkPHP框架的PHP程序设计有所帮助。
,
Alat AI Hot

Undresser.AI Undress
Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover
Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool
Gambar buka pakaian secara percuma

Clothoff.io
Penyingkiran pakaian AI

Video Face Swap
Tukar muka dalam mana-mana video dengan mudah menggunakan alat tukar muka AI percuma kami!

Artikel Panas

Alat panas

Notepad++7.3.1
Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina
Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1
Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6
Alat pembangunan web visual

SublimeText3 versi Mac
Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Topik panas



Untuk menjalankan projek ThinkPHP, anda perlu: memasang Komposer untuk mencipta projek, masukkan direktori projek dan laksanakan php bin/console serve;

ThinkPHP mempunyai berbilang versi yang direka untuk versi PHP yang berbeza. Versi utama termasuk 3.2, 5.0, 5.1 dan 6.0, manakala versi kecil digunakan untuk membetulkan pepijat dan menyediakan ciri baharu. Versi stabil terkini ialah ThinkPHP 6.0.16. Apabila memilih versi, pertimbangkan versi PHP, keperluan ciri dan sokongan komuniti. Adalah disyorkan untuk menggunakan versi stabil terkini untuk prestasi dan sokongan terbaik.

Bagaimana untuk menyediakan halaman utama Google Chrome? Google Chrome ialah perisian penyemak imbas web yang paling popular hari ini. dan sesetengah orang suka menetapkan halaman utama sebagai enjin carian lain, jadi di manakah ia harus ditetapkan? Seterusnya, editor akan membawakan anda kaedah pantas untuk menyediakan halaman utama Google Chrome saya harap ia boleh membantu anda. Cara cepat menetapkan halaman utama Google Chrome 1. Buka Google Chrome (seperti yang ditunjukkan dalam gambar). 2. Klik butang menu di penjuru kanan sebelah atas antara muka (seperti yang ditunjukkan dalam gambar). 3. Pilih pilihan "Tetapan" (seperti yang ditunjukkan dalam gambar). 4. Dalam menu tetapan, cari "Enjin Carian" (seperti

Langkah-langkah untuk menjalankan ThinkPHP Framework secara setempat: Muat turun dan nyahzip ThinkPHP Framework ke direktori tempatan. Buat hos maya (pilihan) yang menunjuk ke direktori akar ThinkPHP. Konfigurasikan parameter sambungan pangkalan data. Mulakan pelayan web. Mulakan aplikasi ThinkPHP. Akses URL aplikasi ThinkPHP dan jalankannya.

Perbandingan prestasi rangka kerja Laravel dan ThinkPHP: ThinkPHP umumnya berprestasi lebih baik daripada Laravel, memfokuskan pada pengoptimuman dan caching. Laravel berfungsi dengan baik, tetapi untuk aplikasi yang kompleks, ThinkPHP mungkin lebih sesuai.

"Cadangan Pembangunan: Cara Menggunakan Rangka Kerja ThinkPHP untuk Melaksanakan Tugas Asynchronous" Dengan perkembangan pesat teknologi Internet, aplikasi Web mempunyai keperluan yang semakin tinggi untuk mengendalikan sejumlah besar permintaan serentak dan logik perniagaan yang kompleks. Untuk meningkatkan prestasi sistem dan pengalaman pengguna, pembangun sering mempertimbangkan untuk menggunakan tugas tak segerak untuk melaksanakan beberapa operasi yang memakan masa, seperti menghantar e-mel, memproses muat naik fail, menjana laporan, dsb. Dalam bidang PHP, rangka kerja ThinkPHP, sebagai rangka kerja pembangunan yang popular, menyediakan beberapa cara mudah untuk melaksanakan tugas tak segerak.

Langkah pemasangan ThinkPHP: Sediakan persekitaran PHP, Komposer dan MySQL. Buat projek menggunakan Komposer. Pasang rangka kerja dan kebergantungan ThinkPHP. Konfigurasikan sambungan pangkalan data. Hasilkan kod aplikasi. Lancarkan aplikasi dan lawati http://localhost:8000.

ThinkPHP ialah rangka kerja PHP berprestasi tinggi dengan kelebihan seperti mekanisme caching, pengoptimuman kod, pemprosesan selari dan pengoptimuman pangkalan data. Ujian prestasi rasmi menunjukkan bahawa ia boleh mengendalikan lebih daripada 10,000 permintaan sesaat, dan digunakan secara meluas dalam tapak web dan sistem perusahaan berskala besar seperti JD.com dan Ctrip dalam aplikasi praktikal.
