0

複数の条件をすばやく検索するには、構造の提案が必要です。検索するすべてのテーブル列の入力フィールドがあります。

空のフィールドを処理する方法 (ユーザーが入力しない/指定された情報のみで検索する)?

ありがとう :)

4

2 に答える 2

1

最良のアプローチは

WHERE
(col1=@col1 or @col1 is null) and
(col2=@col2 or @col2 is null) and
(col3=@col3 or @col3 is null) and
.
.

列が検索のためにスキップされた場合に null を渡すと仮定します

于 2012-07-17T11:27:10.937 に答える
0

以下のようにwhere句を作成して追加できます

$query ="SELECT fields FROM tableName ";
$where ="";

 if(isset($_POST['field1']))
 {
   $field1=  mysql_real_escape_string($_POST['field1']);
   if($field1 != '')
   {
      $where . = "field1Name = $field1 AND ";
   }
 } 
   if(isset($_POST['field2']))
 {
   $field2=  mysql_real_escape_string($_POST['field2']);
   if($field2 != '')
   {
      $where . = "field2Name = $field2 AND ";
   }
 } 

 $where = rtrim($where, " AND ");
 $query . =$where; 
于 2012-07-17T11:32:36.337 に答える