2010-10-01 68 views
1

如果我想在我的搜索表單中設置一個年齡段。PHP:製作年齡段

從:[輸入]到[輸入]年,所以你在那裏輸入例如18到26,以後如何在查詢選擇中使用字段並按年齡範圍排序。

<td> 
    <input name="MinAge" maxlength="2" id="MinAge" style="width: 40px;" type="text"> 
</td> 
<td style="width: 40px; text-align: center;"> 
    <span id="MinAge_label">years</span>&nbsp; to 
</td> 
<td> 
    <input name="MaxAge" maxlength="2" id="MaxAge" style="width: 40px;" type="text">&nbsp;<span id="MaxAge_label">years</span> 
</td> 
+2

您是否知道有一個['LABEL'元素](http://www.w3.org/TR/html4/interact/forms.html#edef-LABEL)? – Gumbo 2010-10-01 17:06:42

+0

我不知道你在問什麼。請稍微解釋一下。 我只能看到一個輸入開始,但你說話,好像有兩個! – chigley 2010-10-01 17:07:13

+0

已更新的問題。我要求提供一個查詢,顯示具有您輸入的年齡列的所有行。例18和26,那麼它將顯示年齡列中有18,19,20,21,22,23,24,25,26的所有行。 – Johnson 2010-10-01 17:10:38

回答

3

你不按範圍「排序」......我假設你是指過濾器?

$min = (int) $_POST['MinAge']; 
$max = (int) $_POST['MaxAge']; 

SQL:

SELECT * FROM people WHERE age BETWEEN $min AND $max ORDER BY age 
+1

SQL不應該以'ORDER BY age'結尾嗎? – 2010-10-01 17:19:25

+0

哈,是的。接得好! – Matthew 2010-10-01 17:20:48

0

我想你也許不貼從樣本正確的代碼,但我懷疑你正在尋找類似下面的;

<tr> 
    <td><label for="minAge">Minimum Age:</label></td> 
    <td><input name="minAge" id="minAge" maxlength="2" /></td> 
</tr> 

<tr> 
    <td><label for="maxAge">Maximum Age:</label></td> 
    <td><input name="maxAge" id="maxAge" maxlength="2" /></td> 
</tr> 

然後,您將要在SQL查詢中使用這些值。假設你正在使用MySQL,你可能會想要類似下面的東西;

SELECT * FROM `table` WHERE age >= ':minAge' AND age <= ':maxAge' 

在哪裏,你會然後綁定的最低年齡和最高年齡爲:MINAGE,:在SQL語句中MAXAGE參數。