Re: [請益] 關於精簡的寫法

看板PHP作者 (環島失敗.....囧)時間15年前 (2010/07/20 19:54), 編輯推噓3(307)
留言10則, 4人參與, 最新討論串5/5 (看更多)
※ 引述《davidou (老歐 ! 月夜雪嵐)》之銘言: : 我網頁會輸出三個radio的按鈕例如 : ˙審核中 : ˙已通過 : ˙未通過 : 像這樣給管理員選 : 那當然每筆資料的審核情況都不一樣 有的可能在審核中 : ˙審核中 : ˙已通過 : ˙未通過 : 也有的可能已經審核過了 : ˙審核中 : ˙已通過 : ˙未通過 : 那我的程式寫法目前是這樣 : if($canPost_value=='U'){ : echo"<input type='radio' value='U' name='canPost'checked'>審核中<br>" : ."<input type='radio' value='Y' name='canPost'>可發布<br>" : ."<input type='radio' value='N' name='canPost'>拒絕發佈";} : else if($canPost_value=='Y'){ : echo"<input type='radio' value='U' name='canPost'>審核中<br>" : ."<input type='radio' value='Y' name='canPost'checked>可發布<br>" : ."<input type='radio' value='N' name='canPost'>拒絕發佈";} : else if($canPost_value=='N'){ : echo"<input type='radio' value='U' name='canPost'>審核中<br>" : ."<input type='radio' value='Y' name='canPost>可發布<br>" : ."<input type='radio' value='N' name='canPost'checked>拒絕發佈";} : 很明顯的 打了這麼多 其實只是為了判斷checked要丟在哪邊而已 : 所以想問一下各位高手 有沒有人有好一點的寫法可以提供參考? : 雖然這樣的if判斷句是可以行的 但是總覺得很差... $arr=array('U'=>'審核中','Y'=>'可發布','N'=>'拒絕發佈'); foreach($arr as $key => $value){ echo "<input type='radio' value='".$key."' name='canPost' ".(($canPost_value==$key)?'checked':'').">".$value; } 方法很多啦 建陣列這種方法可以用在很多選項的地方 例如select或是ckeckbox -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 210.242.154.38

07/20 20:28, , 1F
我也都是這樣
07/20 20:28, 1F

07/20 20:44, , 2F
當然知道有很多阿 想說參考大家的寫法
07/20 20:44, 2F

07/20 20:44, , 3F
看有沒有精簡又好閱讀的方式溜
07/20 20:44, 3F

07/21 07:29, , 4F
自己沒有想過方法.那也不會有精簡明瞭.不是嗎
07/21 07:29, 4F

07/21 08:13, , 5F
哈 我自己有想過一些拉 想說為了讓大家方便了解所以才用
07/21 08:13, 5F

07/21 08:13, , 6F
最直觀的IF來寫給大家討論看看
07/21 08:13, 6F

07/22 00:16, , 7F
遇到這種的我大多都寫成function去產生select等資料
07/22 00:16, 7F

07/22 00:18, , 8F
getObjData($arr,$type='checkbox',$select_id,
07/22 00:18, 8F

07/22 00:18, , 9F
$input_name,$js_code)之類的去產生
07/22 00:18, 9F

07/22 00:19, , 10F
$type就可以是checkbox,radio,text等各種格式型態
07/22 00:19, 10F
文章代碼(AID): #1CHOwEj9 (PHP)
文章代碼(AID): #1CHOwEj9 (PHP)