Rumah > pembangunan bahagian belakang > masalah PHP > Bagaimana untuk mencapai kesan carian dalam php

Bagaimana untuk mencapai kesan carian dalam php

藏色散人
Lepaskan: 2023-03-14 12:44:01
asal
4169 orang telah melayarinya

Cara mencapai kesan carian dalam PHP: 1. Mulakan syarat pertanyaan; 2. Kaedah pertanyaan panggilan; panggil kaedah carian "fungsi terlindung _search" (){...}".

Bagaimana untuk mencapai kesan carian dalam php

Persekitaran pengendalian artikel ini: sistem Windows 7, PHP versi 7.4, komputer Dell G3.

Bagaimana untuk mencapai kesan carian dalam php?

Pelaksanaan fungsi pertanyaan carian PHP:

Saya menghadapi masalah hari ini: apabila melakukan fungsi "carian", pertanyaan tidak boleh dilakukan selepas memasukkan pertanyaan syarat.

Apa yang saya lakukan ialah memaparkan kandungan dalam pakej jadual data pada halaman utama, tetapi terdapat syarat Kandungan yang dipaparkan pada halaman utama juga mestilah: status medan=0, dan data dengan cetakan=0 boleh dipaparkan dalam senarai halaman utama.

Terdapat fungsi "carian" pada halaman Selepas memasukkan syarat, pertanyaan akan dijalankan berdasarkan syarat.

Untuk carian umum, hanya berikan satu dalam senarai paparan halaman utama kaedah indeks():

$map=array();//初始化查询条件
$map=$this->_search();//调用查询方法
$total = $this->Model->where ($map)->count(); //这个主要是用来计算页面显示数据条数的
if ($total == 0) {
$_list = '';
} else {
$_list = $this->Model->where ($map)->limit( $post_data ['first'] . ',' . $post_data ['rows'] )->select();
}
Salin selepas log masuk

Kemudian, tulis sahaja _search():

seperti :

protected function _search(){
$map = array ();
$post_data = I ( 'post.' );
if ($post_data ['packageid'] != '') {
$map ['packageid'] = array (
'like',
'%' . $post_data ['packageid'] . '%' 
);
}
return $map;
}
Salin selepas log masuk

Akhir sekali, panggil kaedah carian ini dalam menu tetapan "Cari".

Namun, apabila saya melakukan ini, semasa mencari, saya juga perlu memastikan untuk mencari dalam data dengan status medan=0 dan mencetak=0.

Saya telah memikirkan tempat untuk menambah sekatan ini. Selepas pelbagai percubaan dan pertanyaan, saya mendapat tahu. Cuma tambah syarat sekatan terus ke pernyataan SQL (seperti ditunjukkan dalam warna merah di bawah). (Apabila saya mencuba sendiri, saya terus menambah syarat di kawasan biru di bawah, dan gagal setiap kali!)

$map=array();
$map=$this->_search();
$total = $this->Model->where ($map)->where(array('status' =>0,'print_status'=>0))->count();
if ($total == 0) {
$_list = '';
} else {
$_list = $this->Model->where ($map)->where(array('status' =>0,'print_status'=>0))->limit( $post_data ['first'] . ',' . $post_data ['rows'] )->select();
}
Salin selepas log masuk

Pembelajaran yang disyorkan: "Tutorial Video PHP"

Atas ialah kandungan terperinci Bagaimana untuk mencapai kesan carian dalam php. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Label berkaitan:
sumber:php.cn
Kenyataan Laman Web ini
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
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan