php メソッドで検索効果を実現: 1. クエリ条件を初期化する; 2. クエリメソッドを呼び出す; 3. ページに表示されるデータ数を計算する; 4. 設定の「検索」メニューで、「protected function _search」(){...}」検索メソッドを呼び出します。
#この記事の動作環境: 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 サイトの他の関連記事を参照してください。