ホームページ > php教程 > php手册 > PHPの検索(クエリ)関数

PHPの検索(クエリ)関数

WBOY
リリース: 2016-11-30 23:59:32
オリジナル
1452 人が閲覧しました

本日、「検索」機能を使用する際、クエリ条件を入力してもクエリが実行できないという問題が発生しました。

私がやっていることは、データテーブルパッケージの内容をホームページに表示することですが、ホームページに表示される内容もフィールドステータス=0でなければならず、印刷=0のデータも表示できますという条件があります。ホームページのリスト。

ページ内に条件を入力すると、その条件に基づいてクエリが実行されます。

一般的な検索の場合は、ホームページ表示リストメソッドのindex()に1つを指定するだけです:

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

を書くだけです

例:

保護された関数 _search(){

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

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

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

皆さんにもシェアしたいと思います。

初心者は学習中なので、コメントやアドバイスを残してください。

関連ラベル:
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のおすすめ
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート