この記事は主に PHP の検索クエリ関数の実装コードを紹介しています。非常に優れており、参考にすることができます。
今日、「検索」関数を実行するときに、クエリ条件を入力するという問題が発生しました。そしてクエリNo.
私がやっていることは、データテーブルパッケージのコンテンツをホームページに表示することですが、ホームページに表示されるコンテンツはフィールドステータス=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():
を次のように書きます:
protected function _search(){ $map = array (); $post_data = I ( 'post.' ); if ($post_data ['packageid'] != '') { $map ['packageid'] = array ( 'like', '%' . $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(); }
以上がこの記事の全内容となりますので、皆様の勉強に少しでもお役に立てれば幸いです。
関連する推奨事項:
PHP で file_put_contents を追加および改行する方法
php PDO は接続が利用可能かどうかを判断する方法を実装します
PHP 2 次元連想配列いずれかのフィールドに基づく並べ替え方法
以上がPHP検索クエリ機能の実装の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。