0

私は自分のウェブサイトの検索エンジンを作っています。select価格、ドア数、トランスミッション、燃料タイプ、エンジン タイプ、CO2 排出量の6 つのフィールドがあります。

検索エンジンのユーザーにできるだけ詳しく検索してもらいたい。したがって、価格とトランスミッションのみを選択する場合は、価格とトランスミッションなどを検索する必要があります。価格、ドア数、エンジン タイプを検索する場合は、これら 3 つのパラメータを検索する必要があります。

したがって、6^6 = 46 656 通りの組み合わせがあることがわかりました。それはif'ingとelse'ingには多すぎます..

ユーザーが何も選択しない場合、selectフィールドの戻り値は になります"empty"

また、価格は常に設定されていることにも注意してください (最小値は 0、最大値は 100 000)。

これらすべてを 1 つのクエリに結合する方法が必要ですよね? それは私の人生をずっと楽にするでしょう:)。

それを行う方法を(実際にある場合)説明していただけますか?

4

1 に答える 1

2

6^6 = 46 656 とは思いません。

POSTから検索パラメータを取得するとしましょう

$sql = "select * from table_name where 1=1";

if(isset($_POST['price']))
  $sql .= " AND price='".$_POST['price']."'";
if(isset($_POST['numdoors']))
  $sql .= " AND numdoors = '".$_POST['numdoors']."'";

//and so on......

だからあなたは6if秒を持っています

于 2012-05-06T14:48:50.537 に答える