If statement 多个if-in-if和get-url

If statement 多个if-in-if和get-url,if-statement,geturl,If Statement,Geturl,我想通过url从数据库中进行选择,为此,如果: if (isset($_GET['class']) == 'dw') { $query = mssql_query("select * from [WebShop] where [category]='".secure($string)."' and [dw] > 0 order by credits asc"); } if (isset($_GET['class']) == 'bk') { $query = mssql_

我想通过url从数据库中进行选择,为此,如果:

if (isset($_GET['class']) == 'dw')
{
    $query  = mssql_query("select * from [WebShop] where [category]='".secure($string)."' and [dw] > 0 order by credits asc");
}
if (isset($_GET['class']) == 'bk')
{
    $query  = mssql_query("select * from [WebShop] where [category]='".secure($string)."' and [bk] > 0 order by credits asc");
}
if (isset($_GET['class']) == 'fe')
{
    $query  = mssql_query("select * from [WebShop] where [category]='".secure($string)."' and [fe] > 0 order by credits asc");
}
if (isset($_GET['class']) == 'mf')
{
    $query  = mssql_query("select * from [WebShop] where [category]='".secure($string)."' and [mf] > 0 order by credits asc");
}
if (isset($_GET['class']) == 'dl')
{
    $query  = mssql_query("select * from [WebShop] where [category]='".secure($string)."' and [dl] > 0 order by credits asc");
}
if (isset($_GET['class']) == 'sum')
{
    $query  = mssql_query("select * from [WebShop] where [category]='".secure($string)."' and [sum] > 0 order by credits asc");
}
if (isset($_GET['class']) == 'rf')
{
    $query  = mssql_query("select * from [WebShop] where [category]='".secure($string)."' and [rf] > 0 order by credits asc");
}
else
{
    $query  = mssql_query("select * from [WebShop] where [category]='".secure($string)."' order by credits asc");
}
这个Url是:
index.php?sy=items&class=dw

但是当我访问这个url时,如果:(:
index.php?sy=items&class=dw
最后被选中,sy=items&class=rf


是否可以帮助我解决使用每个if的问题?

此处尝试更改此模式中代码的格式

$class=$_GET['class']
switch($class) {
    case 'dw':
        $query  = mssql_query("select * from [WebShop] where [category]='".secure($string)."' and [dw] > 0 order by credits asc");
        break;
    case 'bk':
        $query  = mssql_query("select * from [WebShop] where [category]='".secure($string)."' and [bk] > 0 order by credits asc");
        break;
    case 'fe':
         $query  = mssql_query("select * from [WebShop] where [category]='".secure($string)."' and [fe] > 0 order by credits asc");
        break;
    default:
    code to be executed if n is different from all labels;
}

最后一个else将始终被计算。您可能应该尝试case语句、elseif或嵌套if结构。