从for循环创建PHP下拉菜单?

时间:2013-11-24 17:50:33

标签: php html forms loops

我正在尝试使用1,2,3和4的选项创建一个下拉菜单。

以下代码就是我刚才使用的,下拉列表是空的。

知道我做错了吗?

<select name="years">
<?php 

for($i=1; $i<=4; $i++)
{

"<option value=".$i.">".$i."</option>";
}
?> 
     <option name="years"> </option>   
        </select> 

            <input type="submit" name="submitYears" value="Year" />

7 个答案:

答案 0 :(得分:5)

您没有输出选项标签。 试试这样:

<select name="years">

<?php 

for($i=1; $i<=4; $i++)
{

    echo "<option value=".$i.">".$i."</option>";
}
?> 
     <option name="years"> </option>   
</select> 

<input type="submit" name="submitYears" value="Year" />

答案 1 :(得分:1)

你基本上使用html而不关闭php语法。你的代码应该是这样的:

 <select name="years">
    <?php 

    for($i=1; $i<=4; $i++)
     {
      ?>

     <option value="<?php echo $i;?>"><?php echo $i;?></option>
    <?php
        }
        ?> 
 <option name="years"> </option>   
    </select> 

        <input type="submit" name="submitYears" value="Year" />

或者你是否想要回应这个选项?在那种情况下,你忘记了echo语句:

 echo "<option value= ".$i.">".$i."</option>"; 

答案 2 :(得分:1)

这对我有用。从今年到1901年,整数年都是整数:

        <select Name='ddlSelectYear'>
            <option value="">--- Select ---</option>

            <?php
            for ($x=date("Y"); $x>1900; $x--)
              {
                echo'<option value="'.$x.'">'.$x.'</option>'; 
              } 
            ?> 
        </select>

答案 3 :(得分:0)

你忘记了什么..

print

之前添加echo / "<option value=".$i.">".$i."</option>";

答案 4 :(得分:0)

在循环中放置一个echo以输出您的选项。

echo "<option value=".$i.">".$i."</option>";

答案 5 :(得分:0)

只需回显<option>标记

echo "<option value=".$i.">".$i."</option>";

答案 6 :(得分:0)

<select name="year">
    <?php for ($i = 0; $i <= 9; $i++) : ?>
         <option value='<?= $i; ?>' <?= $fetchData->year == $i ? 'selected' : '' ?>><?= $i; ?></option>
    <?php endfor; ?>
</select>