0

我会尽可能简单。我正在尝试为日期制作一个下拉菜单。我在网上看到了几个类似的例子,但是我很难让它们工作。

这是我的下拉代码:

<?php
$current_month = date('m');
$number_of_day_in_month = cal_days_in_month(CAL_GREGORIAN, $current_month , date('Y'));
?>
Day:<select name="day">
  <?php for($i=1;$i<=$number_of_day_in_month ;$i++):?>
         <option value="<?=$i?>"><?=$i?></option>
     <?php endfor?>
</select>

Month: <select name="month">
    <?php for($i=1;$i<=12;$i++):?> 
         <option value="<?=str_pad($i,2,'0',STR_PAD_LEFT)?>"><?=$i?></option>
    <?php endfor?>
</select>

我知道这不是获取日期的最有效方式,但请与我合作。我正在尝试做这个愚蠢的证明,这就是为什么我没有把它变成一个简单的文本框。当我在服务器上运行它时,什么都没有,当我在 Dreamweavers 本地工作区上运行它时,它只会使下拉框内部没有值。

我不知道为什么什么都没有出现。

我很感激我能得到的任何帮助,并提前感谢您的帮助。

4

3 回答 3

0

试试这个代码:

  <?php for($i=1;$i<=$number_of_day_in_month ;$i++){
        echo "<option value='$i'>$i</option>";
  }?>
于 2013-05-01T17:36:09.557 回答
0

PHP 必须使用 start tagging.. <?php,而旧版本不需要。

试试这个代码:

<?php
$current_month = date('m');
$number_of_day_in_month = cal_days_in_month(CAL_GREGORIAN, $current_month , date('Y'));
?>
Day:<select name="day">
    <?php for($i=1;$i<=$number_of_day_in_month ;$i++) {?>
         <option value="<?php echo $i?>"><?php echo $i?></option>
     <?php } ?>
</select>

Month: <select name="month">
    <?php for($i=1;$i<=12;$i++) {?> 
            <option value="<?php echo str_pad($i,2,'0',STR_PAD_LEFT)?>"><?php echo $i?></option>
    <?php } ?>
</select>
于 2013-05-01T17:36:49.970 回答
0

也许是那个 cal_days_in_month() 函数的问题?您可以仅使用 date("t") 获取该月的天数。此外,<?= ?>在 PHP 中将很快弃用。

<select name="day">
<?php for($i=1; $i<=date("t"); $i++): ?>
    <option value="<?php echo $i; ?>"><?php echo $i; ?></option>
<?php endfor; ?>
</select>
于 2013-05-01T17:37:03.007 回答