2011-01-27 167 views
1

我需要一些帮助来构建我的php。我试图让3个不同的搜索工作。一个搜索是默认的常规文本搜索,并且是else语句中的内容。这里是我正在做的2个搜索工作的准系统。正如你所看到的脚本检查媒体“全部”被选中,如果没有,它使用else语句显示默认搜索。需要帮助构建php

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,但我不确定如何添加在唯一的媒体搜索。任何人都可以给我一些建议吗?谢谢。

+0

地段很好的答案。感谢大家。它解决了。 – chris 2011-01-27 20:42:34

回答

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

我认为这是你的意思: 你也可以使用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

+0

好的,我会试试。谢谢。 – chris 2011-01-27 20:36:10

+0

太棒了,非常感谢。我看到我在尝试别的时候做错了什么,如果开始的话。我在else语句后使用它。 – chris 2011-01-27 20:41:07

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 } 
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 
} 
1

使用ELSEIF(isset($ _ GET [ '媒体'])& & $ _GET [ '媒体'] == '唯一')