如何从php数组中选择<select multiple =“true”>中的选项?

时间:2015-11-12 14:50:54

标签: php arrays multi-select dropdown

mysql表中的一个字段,当未序列化时,返回简单的索引数组,如: $ biz_cats = array(4,5,8,12,17); 我使用以下所有类别填充选择框: SELECT`ID`,`cat_name` FROM`tbl_categories` 选择框的代码如下: &lt; select multiple =&#34; true&#34;命名=&#34; BIZ-猫[]&#34; ID =&#34; BIZ-猫&#34;大小=&#34; 10&#34;&GT;     &lt; option value =&#34; 0&#34;&gt; - SELECT ONE - &lt; / option&gt; &LT; PHP     //要将所有类别填充到以后允许用户选择或取消选择     if($ categories&amp;&amp; is_array($ categories)){         foreach($ category as $ category){             echo&#39;&lt; option value =&#34;&#39; 。 $ category [&#39; ID&#39;]。 &#39;&#34;&GT;&#39; 。 $类别[&#39; cat_name&#39;]&LT; /选项&GT;&#39 ;;         }     } ?&GT; &LT; /选择&GT; 由于此表单用于编辑/更新记录(不添加新记录),我需要根据$ biz_cats选择一些选项,我必须在表单的其他字段用数据库内的值进行弹出时准确选择它们。

1 个答案:

答案 0 :(得分:0)

您正在寻找in_array

if(in_array($category['ID'], $biz_cats)){ $selected = 'selected'; } else { $selected = ''; }
echo '<option value="' . $category['ID'] . '" ' . $selected . '>' . $category['cat_name']</option>';