2013-05-01 47 views
0

我会尽可能简单地保持这一点。我正在尝试为日期制作下拉菜单。我已经看到几个类似于这个在线的例子,但是我很难让他们工作。东西不能在日期下拉列表中,使用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="<?=$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本地工作区上运行它时,它只是使内部没有值的下拉框。

我不知道为什么没有显示出来。

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

+0

你确定“”(短裤)有效吗?尝试“<?php echo $ i;?>” – 2013-05-01 17:29:14

+0

我复制了你的代码,并通过xampp进行了测试,最后选择了Date和Month下拉选择标签......请检查你的php版本,尝试使用xampp..just为开发使用.. – daison12006013 2013-05-01 17:29:37

回答

0

试试这个代码:

<?php for($i=1;$i<=$number_of_day_in_month ;$i++){ 
     echo "<option value='$i'>$i</option>"; 
    }?> 
0

PHP必须使用开始标记.. <?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> 
0

也许这与cal_days_in_month()函数的一个问题?您可以使用日期(“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>