需要帮助构建php

时间:2011-01-27 20:31:06

标签: php

我需要一些帮助构建我的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媒体搜索中添加。谁能给我一些建议?感谢。

5 个答案:

答案 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
}

see here

答案 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')