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

3

我正在尝试创建一个下拉菜单,其中选项为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个回答

9
您没有输出选项标签。 请按照以下方式进行尝试:
<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
这对我很有帮助。它将年份作为整数从当前年份向下填充到1901年:
        <select Name='ddlSelectYear'>
            <option value="">--- Select ---</option>

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

1
你基本上是在不关闭php语法的情况下使用html。你的代码应该看起来像这样:
 <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>"; 

0
在你的循环中放置一个回显来输出你的选项。
echo "<option value=".$i.">".$i."</option>";

0
只需回显 <option> 标签。
echo "<option value=".$i.">".$i."</option>";

0

你忘记了什么...

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


谢谢!总是有些小事情被忘记了! - user3010383

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

<?= $fetchData->year == $i ? 'selected' : ' ' ?> 这段代码用于在您保存并从同一页进行编辑时,根据从数据库中获取的数据显示您选择的选项。 - hasnath rumman
请编辑您的答案,包含所有的解释。 - Nico Haase

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接