首頁 php教程 php手册 php 搜尋(查詢)功能

php 搜尋(查詢)功能

Nov 30, 2016 pm 11:59 PM

今天遇到一個問題:在做「搜尋」功能時,輸入查詢條件後查詢不了。

我做的是首頁顯示資料表package中的內容,但是有個條件,顯示在首頁的內容還必須是 :字段status=0,且printing=0的數據才能在首頁列表中顯示出來。

頁面上有一個「搜尋」功能,輸入條件後就會根據條件來查詢。

一般的搜尋的話,只要在首頁顯示列表方法index()中給一個:

$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();
}

然後,就是寫一個_search():

如:

 protected function _search(){

$map = array ();
$post_data = I ( 'post.' );

if ($post_data ['packageid'] != '') {
$map ['packageid'] = array (
'like',
'%' . $post_data ['packageid'] . '%'
'%' . $post_data ['packageid'] . '%'
) ;

}

return $map;

}

最後,在設定的「搜尋」選單中,呼叫這個搜尋方法。

但是,我做的這個,搜尋的同時,還要確保在字段status=0,且printing=0的資料中進行搜尋。

我一直在想這個限制條件該加在哪裡。各種嘗試查詢後,才知道。限制條件直接加在SQL語句中就行了(如下紅的地方)。 (我自己試的時候一直在如下藍色的地方加條件,屢試屢敗!)


$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();

}

特此跟大家分享下。

新手學習中,請多點評指教。
🎜
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn

熱AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover

AI Clothes Remover

用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool

Undress AI Tool

免費脫衣圖片

Clothoff.io

Clothoff.io

AI脫衣器

Video Face Swap

Video Face Swap

使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱工具

記事本++7.3.1

記事本++7.3.1

好用且免費的程式碼編輯器

SublimeText3漢化版

SublimeText3漢化版

中文版,非常好用

禪工作室 13.0.1

禪工作室 13.0.1

強大的PHP整合開發環境

Dreamweaver CS6

Dreamweaver CS6

視覺化網頁開發工具

SublimeText3 Mac版

SublimeText3 Mac版

神級程式碼編輯軟體(SublimeText3)