Re: [心得] 輸出<select>下拉選單的小撇步

看板PHP作者 (封影)時間16年前 (2008/06/23 15:23), 編輯推噓2(203)
留言5則, 1人參與, 最新討論串1/3 (看更多)
※ 引述《JYHuang (夏天到了,冷不起來了說)》之銘言: : 有時看到一些版友在問問題順便po上程式碼時,覺得其實可以運用一些 : 小方法來精簡,例如下拉式選單 (寫程式不就是要偷懶嘛 XD ) : 小弟的方法是先寫好一個函式。 : function make_select($array,$default_key=null,$attributes=null) : { : $htm = "<select $attribuges >"; : foreach($array as $key=>$text){ : if ($key == $default_key) : $htm .= "<option value='$key' selected'>$text"; : else : $htm .= "<option value='$key'>$text"; : } : $htm .= "</select"; : return $htm; : } : $array: 二維陣列,第二維存option的value值和文字 : $default_key: 選取的預設值 : $attributes : 就name=.. class=.. 那些阿殺不魯的東西 XD : 這樣一來,當你要建立一個下拉式選單時, : 直接把陣列丟進去函數裡 ( 搭配SQL時更是下菜啊 :D~ ) : 就不用key那麼一大串的html和下一堆判斷式來判斷是否有select了 : PS: radio,checkbox 也可以照這種方法來料理喔~~ : (快中午了,還寫什麼程式...快去吃飯 XDD ) 照個人喜好修改一下 function make_select($array,$default_key=null,$attributes=null){ $htm = "<select $attribuges >"; $str = '<option value="%s"%s>%s</option>'; foreach($array as $key=>$text){ $sel = ''; if ($key == $default_key){ $sel = ' selected="selected"'; }else{ $sel = ''; } $htm .= sprintf($str, $key, $sel, $text ); } $htm .= '</select>'; return $htm; } 後來比較喜歡用這種方式,我個人認為比較容易讀,因為以前"$xxx".'xxx'這種寫法 我看起來實在是很不舒服。 還有就是盡量照網頁標準寫法來 到現在都還沒有吃午餐,為什麼我還在寫程式= = -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 220.130.195.65 ※ 編輯: lgzenith 來自: 220.130.195.65 (06/23 15:26) ※ 編輯: lgzenith 來自: 220.130.195.65 (06/23 17:15)

06/24 17:57, , 1F
$attribuges錯了= =,是$attributes
06/24 17:57, 1F

06/24 18:00, , 2F
</select>和</option>後面都補個"\n"斷行吧
06/24 18:00, 2F

06/24 18:01, , 3F
$select = "<select$attributes>"."\n";中間不要空
06/24 18:01, 3F

06/24 18:12, , 4F
上一行是為了不要有<select >多一個空格,但方法錯了
06/24 18:12, 4F

06/24 18:13, , 5F
補一行if($attributes==null){$attributes=' ';}
06/24 18:13, 5F
文章代碼(AID): #18NqzNAC (PHP)
文章代碼(AID): #18NqzNAC (PHP)