2012-08-08 256 views
0

保留選擇的下拉用戶點擊提交按鈕 我只是用1-4天的工作任何幫助將大大appreciatted後 去容易IM一個小白PHP下拉保留選擇

<?PHP 
    $day = array(); 
    $day[0] = "1"; 
    $day[1] = "2"; 
    $day[2] = "3"; 
    $day[3] = "4"; 
    $days=$day; 
?> 

<select name="day"> 
    <option value="day">Day</option> 
    <?PHP 
     for ($days = 0; $days < 4; $days++) {   
      print"<option value='$day[$days]'>$day[$days]</option>"; 
     } 
    ?> 
</select> 
+0

PHP沒有下拉菜單。 :) – Christian 2012-08-08 13:15:26

+0

您需要在PHP中有條件地檢查選擇值。 – Lion 2012-08-08 13:16:56

+0

我不明白你的問題是關於什麼的。請更具體一些。 – B4NZ41 2012-08-08 13:21:53

回答

0

你可以拉傳遞出$_REQUEST超全局和檢查的價值爲每個迭代它。您要預選的<option>標籤應包含selected屬性。此外,當您只需在循環中遞增計數器時,不需要創建連續整數數組。像這樣的東西應該適合你:

<select name="day"> 
<option value="day">Day</option> 
<?php 
    $day = null; 
    if (array_key_exists('day', $_REQUEST) { 
     $day = $_REQUEST['day']; 
    } 
    for ($i = 1; $i <= 4; $i++) { 
     echo '<option value="' . $i . '"'; 
     if ($i == $day) { 
      echo ' selected="selected"'; 
     } 
     echo '>' . $i . "</option>\n"; 
    } 
?> 
</select> 
+0

嗯沒什麼作用:{也許我沒有解釋得很好,但你們會怎麼做出生日期(用戶註冊)的下拉式我不想這樣做等 – bob12345 2012-08-08 13:43:33

+0

你的工作,但在不同的下拉我想在同一個下拉列表中輸入 – bob12345 2012-08-08 13:53:01

+0

@ bob12345這項技術應該在所有下拉菜單上都一樣。你可能在你的'select'元素的'name'屬性反轉。 – Asaph 2012-08-08 14:06:04

0

對於初學者來說,該代碼需要一些認真的反思。

您首先創建一個數組,然後將其無序添加到另一個變量中。其次,你的值只有一個數字遠離索引,你可以很容易地實時計算這個值。

最後,你在同一個數組內循環,以利用索引(不需要數組)。

所以,把一些代碼在我的嘴裏就在於,它看起來像:

<select name="day"> 
    <option value="day">Day</option> 
    <?php 
     for ($day = 1; $day <= 4; $day++) { 
      print"<option value='$day'>$day</option>"; 
     } 
    ?> 
</select> 

這就是說,你從來沒有說過需要選擇哪個項目。假設這是一個叫做$the_day變量,這裏的還多一些代碼:

<?php 

$the_day = 4; 

?><select name="day"> 
    <option value="day">Day</option> 
    <?php 
     for ($day = 1; $day <= 4; $day++) { 
      $it_is = $day == $the_day ? 'selected="selected"' : ''; 
      print"<option value='$day' $it_is>$day</option>"; 
     } 
    ?> 
</select> 
0

您可以使用選擇的關鍵字在你的聲明

print"<option value='$day[$days]' selected='selected'>$day[$days]</option>";