mySQL NOOB问题:
表有一列= AgeGroup。它包含以下数据选项:U40,40-44,45-49,50-54,55-59,60 +。
我有一个表单,允许用户选择他们希望查看的“Gender”和“AgeGroup”。然后,它使用“SELECT”SQL查询的“WHERE”子句。它使用以下格式:
FROM
#__test1
WHERE
EventName = '2011EoSummer' AND
Gender = {$REQUEST:Gender};
if(isset($_REQUEST['Age'])) AND AgeGroup = {$_REQUEST['Age']}
在表单中,有一个选项可以通过“整体”获取所有年龄,但AgeGroup列中没有名为“Overall”的数据。整体应该默认为所有年龄组,但我不知道这将如何在SQL查询中读取。
示例1网址:/& Gender = Men& AgeGroup = U40 =>将在'U40''男子'
中显示数据示例2 URL:/& Gender = Men& Age = Overall =>将显示所有年龄数据
答案 0 :(得分:0)
如果我正确阅读,当您选择“整体”时,您希望返回所有年龄组(以便不受任何年龄组限制)?
如果是这样,您需要删除SQL语句中的AgeGroup子句。
<?PHP
$sql = "SELECT * FROM tbl WHERE Gender = {$_REQUEST['gender']}";
if(isset($_REQUEST['age']))
{
$sql.= " AND AgeGroup = {$_REQUEST['age']}"
}
?>
这将默认为总体,所以你可能想要适当地改变逻辑,希望我得到你所追求的,如果不是忽略它!
另外作为附注,$ _REQUEST不是最好用的,如果你使用表单作为你的动作收集器设置它发布并使用$ _POST代替,如果你不能使用$ _GET将你的数据从网址而不是请求。
编辑:在括号中添加,以便于阅读。