php搜索表单

时间:2011-09-03 15:39:56

标签: php mysql search

我正在摆弄一个搜索表单,我已经设法串起来了。总共可以输入28个值,包括复选框和选择选项。所以我用不同的变量重复这个代码28次,有没有更短的方法来做到这一点,它在我的代码中看起来很讨厌,这让我相信我做的事情非常错误。以下是我的代码示例:

            $search_shop_name = '';

            if(isset($_GET['search_shop_name'])) {
            $search_shop_name = $_GET['search_shop_name']; 
    }               
    else {
        $search_shop_name = '';
    }   

对于一个输入,这只是一段代码,想象一下这段代码的长度和草率。任何意见,将不胜感激。感谢

2 个答案:

答案 0 :(得分:3)

使用filter_input()[docs]。它会将您的代码缩短为一行:

$search_shop_name = filter_input('search_shot_name', INPUT_GET);

或者做这样的事情:

// put your default values here
$defaults = array(
    'search_shop_name' => '',
    'other_value' => '',
    ...
);

// merge $_GET in default values
$input = array_merge($defaults, $_GET); // or $_GET + $defaults

// you are done
$search_shop_name = $input['search_shop_name'];

答案 1 :(得分:1)

您可以简单地执行以下操作,而不是使用所有这些条件:

$search_shop_name = $_GET['search_shop_name']; 

如果未设置$_GET值,则$search_shop_name将为空字符串。