mySQL $ REQUEST默认值

时间:2012-09-27 13:07:10

标签: mysql html

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 =>将显示所有年龄数据

1 个答案:

答案 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将你的数据从网址而不是请求。

编辑:在括号中添加,以便于阅读。