ホームページ >バックエンド開発 >PHPの問題 >PHP製品フィルタリング機能の実装方法

PHP製品フィルタリング機能の実装方法

藏色散人
藏色散人オリジナル
2020-11-17 09:37:222874ブラウズ

php の製品フィルタリング機能を実装する方法: 最初にユーザーが送信したクエリを実行し、次にサーバー側プログラムでユーザーのクエリ要求を取得し、次に SQL クエリ ステートメントの組み立てを開始し、最後にクエリを返します。クエリ結果をユーザーに通知、ユーザーが条件に基づいて商品を絞り込む機能を完成させました。

PHP製品フィルタリング機能の実装方法

推奨事項: 「PHP ビデオ チュートリアル

php の条件による製品のフィルタリング機能は比較的単純です。

実際には、さまざまな条件に基づいて SQL クエリ条件を作成し、データベースからさまざまな製品を検索します。

例:

ユーザーは、価格帯、ブランド、製品名によって包括的な検索を実行できます。

次に、ユーザーが上記のクエリ条件を選択した後 (おそらく 3 つの条件がすべて設定されているか、またはそのうちの 2 つだけが設定されている可能性があります)、それをサーバーに送信すると、サーバー プログラムはユーザーのクエリ条件を受け取ります。 SQL クエリ ステートメントの組み立てを開始し、最後に組み立てられた SQL クエリ ステートメントを実行して結果をユーザーに返します。

コード例:

ユーザーによって送信されたクエリ:

price='0-1000'; //按价格范围0-1000元查询
 
brandid=20;  //要求品牌必须是ID号为20的这个(假设这个ID号为20的品牌,名字叫”西部数据")
productname='绿盘'; //商品名称只设置了2个字以做模糊查询

ユーザーがクエリ ボタンをクリックした後、状況に応じてプログラムでは、クエリリクエストを送信するメソッドは get メソッドでも post メソッドでも構いませんが、post メソッドであるものとします。

次に、サーバー側プログラムでユーザーのクエリ要求が受信されます:

$price=$_POST['price'];
$price_arr=explode('-',$price); //这里是把价格范围按-号拆散成数组,方便在组装SQL查询语句时用。
 
$brandid=$_POST['brandid'];
$productname=$_POST['productname'];

もちろん、上記のデータが取得された後、対応する安全検査と処理はここではスキップされます。

次に、SQL クエリ ステートメントの組み立てを開始します。

$sqlexp='';
//下面开始组根据用户设置的查询条件进行SQL查询条件的组装
 
if(!empty($price)) {
    $sqlexp.=&#39; and (price>=&#39;.$price_arr[0].&#39; and price<=&#39;.$price_arr[1];
 
}
if(!empty($brandid)) {
   $sqlexp.=&#39; and brandid=&#39;.$brandid;
}
if(!empty($productname)) {
   $sqlexp.=" and instr(productname,&#39;$productname&#39;)>0";
}
 
//下面执行SQL查询
 
$result=mysql_query("select * from product where state=1 ".$sqlexp);

上記のクエリが完了したら、クエリを入力します。結果をユーザーに返すことで、ユーザーが条件に従って商品をフィルタリングする機能が完了します。

以上がPHP製品フィルタリング機能の実装方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。