[請益] 請問我的下拉選單,如何讓1-9月前面補0

看板PHP作者 (羽球小班)時間14年前 (2010/07/01 01:16), 編輯推噓5(508)
留言13則, 9人參與, 最新討論串1/2 (看更多)
小弟我想要1-9月前面補0,又想讓月份一開始停在系統當時月份 拜google大神找到以下兩種方法↓ 可是有了這個沒了那個,有了那個沒了這個= ='' 請問大大們有沒有方法能滿足我的慾望? 能讓我左擁這個,右抱那個。 //說也奇怪,今天7月1號,怎麼他還是停在6月= ='' 等明天重新開機再看看好了! /*1-9月:沒補0、一開始停在系統日期(月)*/ <select name="month"> <?php for($i=1;$i<=12;$i++) { echo '<option'; if($i==date("m")) echo ' selected'; echo '>'.$i.'</option>'; } ?> </select>月<br> /*1-9月,有補0、一開始停在1月*/ <select name="month_from"> <option>01</option> <option>02</option> <option>03</option> <option>04</option> <option>05</option> <option>06</option> <option>07</option> <option>08</option> <option>09</option> <option>10</option> <option>11</option> <option>12</option> </select>月 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 59.113.67.45

07/01 01:31, , 1F
第一~時間可能是你的時區沒設定好~再來~你要的功能其
07/01 01:31, 1F

07/01 01:31, , 2F
實只要對程式碼做一點小修改就可以達成了~至於程式碼..
07/01 01:31, 2F

07/01 01:32, , 3F
小弟功夫未到家就不貼上來讓大家見笑了~:p
07/01 01:32, 3F

07/01 05:12, , 4F
for裡面加一個if判斷 如果$i<10,$i = "0".$i;
07/01 05:12, 4F

07/01 05:13, , 5F
啊 應該要另宣告一個變數 不然迴圈可能會有問題~
07/01 05:13, 5F

07/01 05:13, , 6F
自己再試試吧
07/01 05:13, 6F

07/01 07:55, , 7F
$month = sprintf('%02d', $i); 自動補零至十位數
07/01 07:55, 7F

07/01 09:54, , 8F
推樓上
07/01 09:54, 8F

07/01 11:11, , 9F
樓樓上正解,連判斷都不用XD
07/01 11:11, 9F

07/01 12:17, , 10F
看來手邊的PHP&MySQL不夠我用,再去買一本好了!有的推薦嗎?
07/01 12:17, 10F

07/01 13:48, , 11F
有!「重構 - 改善既有程式的設計」
07/01 13:48, 11F

07/01 23:22, , 12F
$month = str_pad($i,2,'0',STR_PAD_LEFT); 也可以
07/01 23:22, 12F

07/05 20:42, , 13F
7樓最快
07/05 20:42, 13F
文章代碼(AID): #1CAtlZ3H (PHP)
文章代碼(AID): #1CAtlZ3H (PHP)