0

すべての Mysql クエリは、テーブルからの「年齢」の完全な期待条件で動作するようです。たとえば、この条件を から にフィルターするには年齢が必要age >=20ですage <=30

たとえば、ここのリンクを確認してください。

$sql = "SELECT * FROM  `file_records` 
           WHERE  (`country` = '$country' OR '$country' IS NULL) 
               OR (`gender` = '$gender' OR'$gender' IS NULL) 
               OR (`cast` = '$cast' OR '$cast' IS NULL) 
               OR (
                   (`age` >= '$age_from' OR   '$age_from' IS NULL) 
                     AND (`age` <= '$age_to' OR '$age_to' IS NULL)
                  ) 
           LIMIT 0 , 30";
4

4 に答える 4

0

次のようなmysql BETWEEN関数を使用できます

age BETWEEN 20 AND 30
于 2013-01-03T03:57:00.400 に答える
0

from と to date の両方で >= をチェックしています.これを試してください..

$sql = "SELECT * FROM  `file_records` 
         WHERE (`country` = '$country' OR '$country' IS NULL) 
           OR (`gender` = '$gender' OR' $gender' IS NULL) 
           OR (`cast` = '$cast' OR '$cast' IS NULL) 
           OR ((`age` >= '$age_from' OR '$age_from' IS NULL) 
                AND (`age` <= '$age_to' OR '$age_to' IS NULL)) 
         LIMIT 0 , 30";
于 2013-01-03T03:58:24.083 に答える
0

この形式のように年齢の と 演算子のいずれかを選択します

SELECT column_name(s)
FROM table_name
WHERE age
BETWEEN age >=20 and age <=30
于 2013-01-03T03:59:39.790 に答える
0

もしあなたが なら、が真実であるecho $sql;ことは不可能であることがわかるでしょう 。'' IS NULL

あなたは次のようなものが欲しい

OR ((`age` >= '$age_from' OR '$age_from' = '') 
            AND (`age` <= '$age_to' OR '$age_to' = '')) 
于 2013-01-03T04:11:50.920 に答える