Re: [請益] 請問下拉式選單預設為當月的迴圈寫法?

看板PHP作者 (罪雲樵)時間9年前 (2014/08/04 20:51), 編輯推噓1(101)
留言2則, 1人參與, 最新討論串2/3 (看更多)
※ 引述《cat99961 (阿湯)》之銘言: : 我想要寫一個下拉式選單,是1~12月的下拉式選單,但是預設是當月 : 於是寫了以下的程式碼 : <?php : $j= date('m');?> : <select name="month"> : <option value=<?php if((int)$j==1) echo '1 selected';?>>1</option> : <option value=<?php if((int)$j==2) echo '2 selected';?>>2</option> : <option value=<?php if((int)$j==3) echo '3 selected';?>>3</option> : <option value=<?php if((int)$j==4) echo '4 selected';?>>4</option> : <option value=<?php if((int)$j==5) echo '5 selected';?>>5</option> : <option value=<?php if((int)$j==6) echo '6 selected';?>>6</option> : <option value=<?php if((int)$j==7) echo '7 selected';?>>7</option> : <option value=<?php if((int)$j==8) echo '8 selected';?>>8</option> : <option value=<?php if((int)$j==9) echo '9 selected';?>>9</option> : <option value=<?php if((int)$j==10) echo '10 selected';?>>10</option> : <option value=<?php if((int)$j==11) echo '11 selected';?>>11</option> : <option value=<?php if((int)$j==12) echo '12 selected';?>>12</option> : </select> 月 : 程式碼執行結果有符合需求,但是我覺得太長,想要用迴圈改寫,於是改成 : <?php : $j= date('m');?> : <select name="month"> : <?php for($i=1;$i<=12;$i++){?> : <option value=<?php if((int)$j==(int)$i) echo $i.'selected';?>> : <?php echo $i;?></option><?php }?></select> 月 : 結果預設不是選擇當月,而是由"1月"為預設,請問各位高手出了甚麼問題嗎? : 該如何改呢? : 感激不盡.... <?php $j=(int) date('m'); echo '<select name="month">'; for($i=1;$i<=12;$i++){ $sel=$i==$j?'selected="selected"':''; echo '<option value="'.$i.'" '.$sel.'>'.$i.'</option>'; } echo '</select>月'; 應該這樣就可以了。 ?> -- 習慣一個人在房間裡,安靜地享受書的內容… -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 203.67.40.83 ※ 文章網址: http://www.ptt.cc/bbs/PHP/M.1407156686.A.487.html

08/04 20:57, , 1F
謝謝你!!結果真的出來了
08/04 20:57, 1F

08/04 20:58, , 2F
我來慢慢研究我的到底錯在哪
08/04 20:58, 2F
文章代碼(AID): #1Jtu7EI7 (PHP)
討論串 (同標題文章)
文章代碼(AID): #1Jtu7EI7 (PHP)