[英]MySQL where clauses with condition to display specific age
所有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";
您可以像这样使用mysql BETWEEN函数
age BETWEEN 20 AND 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";
您可以在和运算符之间选择年龄,例如这种格式
SELECT column_name(s)
FROM table_name
WHERE age
BETWEEN age >=20 and age <=30
如果您echo $sql;
,您会看到'' IS NULL
不可能的。
你想要类似的东西
OR ((`age` >= '$age_from' OR '$age_from' = '')
AND (`age` <= '$age_to' OR '$age_to' = ''))
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.