2011-12-25 15 views
1

我正在PHP中進行搜索,並且需要搜索一個或多個變量可能值的特定字段。例如。我需要顯示「黑色」和「紅色」頭髮的人的結果(我的變量是「頭髮」)。在這個時候,我只知道如何用一個價值來做到這一點。例如。如何在URL中使用OR?

...search.php&hair=black 

謝謝!

+1

在標題,你寫「或」,但在問題中,你寫「和」。這是什麼,有黑色和紅色頭髮,或黑色或紅色頭髮的人? – outis 2011-12-25 13:56:49

回答

7

您可以通過使用方括號([])轉$_GET['hair']到一個數組:

search.php?hair[]=black&hair[]=red 

$_GET['hair']值:

[hair] => Array 
    (
     [0] => black 
     [1] => red 
    ) 
+0

謝謝你,這個伎倆! :) – typologist 2011-12-25 14:06:18

1

我會做這樣的事情:

http://link/search.php?hair[]=black&hair[]=red 

然後,您可以使用檢索數組:

$_GET['hair'] 

我希望這有助於!

4

查詢字符串通常是按照&符號或分號分隔的鍵值對的列表,但您可以使用任何您想要的格式,但必須解析非標準格式。請注意,&號不等於「和」,它們僅僅是分隔符。相應地,在查詢字符串中沒有任何含義是「或」。

1

如何像:

/search.php?hair=black,red,green

然後在劇本,你這樣做:

$terms = explode(',', $_GET['hair']); 
// Now $terms is an array containing the values: black, red, and green. 
// You can do your search based on those terms. 
+0

這也是一個好主意,我會嘗試一下。謝謝! – typologist 2011-12-25 14:11:38