select 選擇欄位有 2 種型式:
1. 單選式
2. 複選式
底下是單選式的 select 欄位範例,其中顯示列數可以由 <select> 標籤的 size 欄位指定:
<select name="book" size="1"> <option value="Linux Administrator">Linux Administrator</option> <option value="PHP Programming">PHP Programming</option> <option value="MySQL">MySQL</option> </select>
指定 size="1" 表示 select 單選式輸入欄位每次只顯示一個項目。在 <select> 標籤裡加上 multiple 即可變成複選式 select 欄位。
圖: 單選式 select 欄位
底下是複選式的 select 欄位範例,將 size 改成 3 並加上 multiple 即可:
<select name="book[]" size="3" multiple> <option value="Linux Administrator">Linux Administrator</option> <option value="PHP Programming">PHP Programming</option> <option value="MySQL">MySQL</option> </select>
圖: 複選式 select 欄位
一般當我們使用複選式 select 表單時,我們都會將顯示的列數設定成多列,以方便使用者選取。在這裡要特別提醒一點,我們在設計複選式 select 表單欄位時,在 name 欄位部份我們是指定 book[] 也就是陣列的型式,目的是要方便處理取得的資料。
size="3" 表示一次顯示 3 個選項,在單選式 select 欄位也可以指定。讀取單選式的 select 表單輸入欄位方法很簡單,與 text 表單的讀取方法一樣,直接由 name 欄位所指定的變數名稱傳回使用者所選擇的資料。
讀取單選式 select 欄位範例程式:
echo "Your choice: $book";
輸出結果範例:
Your choice: PHP Programming
當使用者選擇 PHP Programming 項目後,由 $book 變數傳回使用者所選擇的值。
在複選式 select 輸入欄位方面,假設使用者選擇了 Linux Administrator 與 PHP Programming 兩個選項,則 PHP 讀取複選式 select 欄位的方法為:
book[0] 存放 "Linux Administrator" book[1] 存放 "PHP Programming"
要讀取所有的項目,可以使用陣列函數 - count()。請看底下的範例:
<?php
$n = count($book); //計算 $book 陣列有幾個元素 for ($i = 0; $i < $n; $i++) echo $book[$i]."<br>\n";
?>
如果是 PHP 4/5 的話,也可以利用新的 foreach 敘述來改寫程式:
<?php
$book = array ("Linux", "PHP", "Java");
foreach($book as $value) { echo $value. "<br>\n"; }
?>
--jollen