我需要一些帮助构建我的PHP。我想尝试3种不同的搜索方式。一个搜索是常规文本搜索,它是默认的,并且是else语句中的内容。以下是我正在做的两个搜索工作的准系统。如您所见,如果选择了媒体“all”,则检查脚本,如果没有,则使用else语句显示默认搜索。
if(isset($_GET['media']) &&
$_GET['media'] == 'all')
{ //Code goes here for media search for all media results }
else{ //code goes here for default search}
这适用于2次搜索但我有第三次搜索我想使用但不知道如何正确实现它。
第三次搜索仅适用于媒体
if(isset($_GET['media']) &&
$_GET['media'] == 'only')
{ //Code goes here for media search for only media results }
基本上我想弄清楚的是如何让所有3次搜索都能正常运行。我知道为什么前2个会起作用,因为IF和ELSE但我不确定如何在ONLY媒体搜索中添加。谁能给我一些建议?感谢。
答案 0 :(得分:4)
这是最干净的方法,通过使用switch语句而不是条件if/else
块更快地工作。此外,您只需添加新案例即可进一步扩展(因此您不必在将来重新考虑if/else
块):
$media = isset($_GET['media']) ? $_GET['media'] : 'no_media';
switch($media) {
case 'only':
// search for only media
break;
case 'all':
// search for text and media
break;
default:
// search for just text, or the default.
break;
}
使用开关,PHP不必一遍又一遍地评估$_GET['media']
。
答案 1 :(得分:1)
我认为这就是你的意思: 你也可以使用elseif。
if(isset($_GET['media']) && $_GET['media'] == 'all')
{
// All media search
}
else if(isset($_GET['media']) && $_GET['media'] == 'only')
{
// Only media search
}
else
{
// Default search
}
答案 2 :(得分:1)
也许这就是:
if(isset($_GET['media']) && $_GET['media'] == 'all')
{ //Code goes here for media search for all media results }
else if(isset($_GET['media']) && $_GET['media'] == 'only')
{ //Code goes here for media search for only media results }
else
{ //code goes here for default search }
答案 3 :(得分:1)
elseif应该有效:
if(isset($_GET['media']) && $_GET['media'] == 'all') { //Code goes here for media search for all media results } elseif(isset($_GET['media']) && $_GET['media'] == 'only') { //Code goes here for media search for only media results } else{ //code goes here for default search }
答案 4 :(得分:1)
你使用elseif(isset($ _ GET ['media'])&& $ _GET ['media'] =='only')