PHPの検索(クエリ)関数
本日、「検索」機能を使用する際、クエリ条件を入力してもクエリが実行できないという問題が発生しました。
私がやっていることは、データテーブルパッケージの内容をホームページに表示することですが、ホームページに表示される内容もフィールドステータス=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();
}
皆さんにもシェアしたいと思います。
初心者は学習中なので、コメントやアドバイスを残してください。

ホットAIツール

Undresser.AI Undress
リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover
写真から衣服を削除するオンライン AI ツール。

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

Video Face Swap
完全無料の AI 顔交換ツールを使用して、あらゆるビデオの顔を簡単に交換できます。

人気の記事

ホットツール

メモ帳++7.3.1
使いやすく無料のコードエディター

SublimeText3 中国語版
中国語版、とても使いやすい

ゼンドスタジオ 13.0.1
強力な PHP 統合開発環境

ドリームウィーバー CS6
ビジュアル Web 開発ツール

SublimeText3 Mac版
神レベルのコード編集ソフト(SublimeText3)

ホットトピック







