2013-12-14 79 views
0

我想創建一個包含只是數字,1,2,3等非常簡單的<select>框中選擇框的選項..所以很乾脆我想創建使用PHP

<select> 
    <option>1</option> 
    <option>2</option> 
    <option>3</option> 
    <option>4</option> 
    <option>5</option> 
    <option>6</option> 
</select> 

不過,我想使用PHP來生成選項,而不是手動創建它們。

我該如何去做這件事?

回答

3

您可以使用此:

<select> 

<?php 

    define('MAX_OPTIONS', 6); 

    for($optionIndex=1; $optionIndex <= MAX_OPTIONS; $optionIndex++){ 
     echo '<option>' . $optionIndex . '</option>'; 
    } 

?> 

</select> 

請注意<select>的打開和關閉標籤是直接輸出,它不是PHP代碼,因此PHP標籤。

你也可以只打印全部通過PHP:

<?php 

    define('MAX_OPTIONS', 6); 

    echo '<select>'; 
    for($optionIndex=1; $optionIndex <= MAX_OPTIONS; $optionIndex++){ 
     echo '<option>' . $optionIndex . '</option>'; 
    } 
    echo '</select>'; 

?> 

提示

最後,只是爲了向更多的結構化程序設計的一小步,你可以創建一個功能:

<?php 

    function createSelectBox($optionCount){ 
     $out = '<select>'; 
     for($idx=1; $idx <= $optionCount; $idx++){ 
      $out .= '<option>' . $idx . '</option>'; 
     } 
     $out .= '</select>'; 
     return $out; 
    } 

?> 

然後調用它 - 從PHP(!!) - 像這樣:

<?php 

    echo createSelectBox(6); 

?> 

因爲你生成的HTML代碼看起來不錯,是功能性的,它不會起任何實際意義,因爲沒有選擇框,可以在不<option>標籤工作正在服value屬性(它應該包含一個代表該選項的值)。

If needed, read this to gain a better understanding of how select works

+0

謝謝,完美的作品。現在我想將選定的值(一旦選擇一個)存儲到變量'$ number'中。我如何去做這件事? – Chris

+0

這將要求你從一個'form'(它應該包括'select'到你的服務器上的PHP腳本中,然後完成其餘部分的數據),然而這需要你首先添加一個'value'屬性給每個'option'並給'select'一個'name'屬性(並且,如前所述,使用包含'select'的'form')。使用javascript來將請求設置爲AJAX,但這太高級了,在您的編碼環境中可能沒有意義。 – SquareCat

+0

無論如何,如果您有其他問題,請在單獨的線程中提問,因爲(如我所假設的)您的當前問題已經得到解答。 – SquareCat

0
for ($i = 0; $i <= 10; $i++){ 
    echo "<option>" . $i . "</option>"; 
} 
0
<?php 

function options($num) { 
    $options = ''; 

    for ($i = 1; $i < $num + 1; $i++) 
    { 
     $options .= "\t<option>" . $i . "</option>\n"; 
    } 

    return $options; 
} 
?> 

<select> 
    <?php echo options(6); ?> 
</select> 

該函數輸出的請求的代碼。