2012-08-08 213 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>";