我有一个页面,我可以通过查询字符串从一个到三个变量传递。
有三种情况:
变量page
和gender
总是这样命名,但FILTER
变量可以是三个不同的东西:brand
,category
和{{ 1}}。
因为subcategory
变量是可选的,所以我不能使用gender
来获取其名称和值,因为它并不总是第二个变量。
根据所选的$_SERVER['QUERY_STRING']
我做了不同的事情,每个过滤器都附加了不同的功能。
我的问题是:如何在排除FILTER
和page
之后知道选择了哪三种过滤器,所以基本上如果可以这样做
gender
另一种方法是为三种情况中的每一种创建if ( isset($_GET['brand']) || isset($_GET['category']) || isset($_GET['subcategory']) ) {
// $selected = whichever variable is set, something like $(this) in jQuery
}
语句,但如果我要添加更多过滤器,那么我将不得不添加更多if()
语句。
答案 0 :(得分:1)
1)你可以像你说的那样使用if语句。
2)你可以做类似
的事情 ?products.php性别= X&安培;过滤器= X + C&安培;页= X
$filter = explode('+', $_GET['filter']));
$type = $filter[0] //x
$value = $filter[1] //c
然后你可以使用开关来获得更多的可读性
switch($type){
case 'brand':
//do stuff
break;
default:
//do stuff
}