PHP検索クエリ機能の実装

墨辰丷
リリース: 2023-03-28 13:10:01
オリジナル
3013 人が閲覧しました

この記事は主に 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 サイトの他の関連記事を参照してください。

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