ホームページ > バックエンド開発 > PHPの問題 > PHPで検索効果を実現する方法

PHPで検索効果を実現する方法

藏色散人
リリース: 2023-03-14 12:44:01
オリジナル
4152 人が閲覧しました

php メソッドで検索効果を実現: 1. クエリ条件を初期化する; 2. クエリメソッドを呼び出す; 3. ページに表示されるデータ数を計算する; 4. 設定の「検索」メニューで、「protected function _search」(){...}」検索メソッドを呼び出します。

PHPで検索効果を実現する方法

#この記事の動作環境: Windows 7 システム、PHP バージョン 7.4、Dell G3 コンピューター。

PHP で検索効果を実現するにはどうすればよいですか?

PHP 検索クエリ関数の実装:

今日問題が発生しました。「検索」関数を実行するときに、クエリを入力した後にクエリを実行できません。条件。

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

ページ内には「検索」機能があり、条件を入力するとその条件に基づいて検索が行われます。

一般的な検索の場合は、ホームページの表示リスト メソッドに 1 つ指定するだけです。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'] . '%' 
);
}
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 Video Tutorial"

以上がPHPで検索効果を実現する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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