2012-03-28 40 views
0

我在我的代碼有一個打嗝的地方,並得到了語法錯了,所以我的日期不爲 某種原因或其他工作。我非常確定它的一個句法缺陷與strtotime。我不使用我的整數像我以爲它會認爲它 。可能有人來看看,並告訴我如何解決這個 ?PHP上市日期爲本月ABBR

<td> 
     <select name="bday[month]" id="bday[month]"> 
      <?php foreach(range(1,12) as $month) { echo "<option value='$month'>".date('M', strtotime($month))."</option>\r\t\t\t"; } ?> 
     </select> 

     <select name="bday[day]" id="bday[day]"> 
      <?php foreach(range(1,31) as $day) { echo "<option value='$day'>$day</option>\r\t\t\t"; } ?> 
     </select> 

     <select name="bday[year]" id="bday[year]"> 
      <?php foreach(range(date('Y')-13, 1900) as $year) { echo "<option value='$year'>$year</option>\r\t\t\t"; } ?> 
     </select> 
    </td> 

回答

0

strtotime()需要的不僅僅是月份數字。

我建議使用mktime()代替。

for ($i = 1; $i <= 12; ++$i) { 
    echo '<option value="' . $i . '">' . date('M', mktime(0, 0, 0, $i)) . '</option>'; 
} 
-1
<td> 
    <select name="bday[month]" id="bday[month]"> 
     <?php foreach(range(1,12) as $month) { echo "<option value='$month'>".sprintf("%02d", $month)."</option>\r\t\t\t"; } ?> 
    </select> 

    <select name="bday[day]" id="bday[day]"> 
     <?php foreach(range(1,31) as $day) { echo "<option value='$day'>$day</option>\r\t\t\t"; } ?> 
    </select> 

    <select name="bday[year]" id="bday[year]"> 
     <?php foreach(range(date('Y')-13, 1900) as $year) { echo "<option value='$year'>$year</option>\r\t\t\t"; } ?> 
    </select> 
</td> 
+1

我需要反饋。 – 2012-03-28 20:57:57