php selected,php-多个选择字段-多次使用selected =“ selected”
我有一個(gè)像這樣的多個(gè)領(lǐng)域:
<?php echo $foo->multi_group_select_options($group_ids, $excluded_id); ?>
我設(shè)法通過此函數(shù)從數(shù)據(jù)庫中獲取結(jié)果并將其放在< select>中,但是我無法設(shè)法保持選定的值處于選中狀態(tài).
第一個(gè)參數(shù)應(yīng)將“ selected =“ selected”添加到提交之前標(biāo)記的字段中,然后再提交,第二個(gè)參數(shù)阻止顯示group_id(第2個(gè)參數(shù)應(yīng)能正常工作).
這是功能…
/**
* group_options
* Get group names in the dropdown list
*/
public function multi_group_select_options($default = false, $exclude_id = '')
{
global $user;
$exclude_id = (isset($this->config['default_group'])) ? $this->config['default_group'] : 5;
$sql_where = ($user->data['user_type'] == USER_FOUNDER) ? '' : 'WHERE group_founder_manage = 0';
$sql_where_and = (!empty($sql_where)) ? ", AND group_id <> $exclude_id" : "WHERE group_id <> $exclude_id";
$sql = 'SELECT group_id, group_name, group_type
FROM ' . GROUPS_TABLE . "
$sql_where
$sql_where_and
ORDER BY group_name";
$result = mysql_query($sql);
$s_group_options = '';
while ($row = mysql_fetch_assoc($result))
{
/*if (is_array($default))
{
break;
$group_id = '';
foreach ($default as $key => $group_id)
{
$group_id = $group_id;
}
}
print_r($default);*/
$selected = ($row['group_id'] == $group_id) ? ' selected="selected"' : '';
$s_group_name = ($row['group_type'] == GROUP_SPECIAL) ? $user->lang['G_' . $row['group_name']] : $row['group_name'];
$s_group_options .= '' . $s_group_name . '';
}
$db->sql_freeresult($result);
return $s_group_options;
}
我作為第一個(gè)參數(shù)放入的數(shù)組是完全有效的.它只是具有鍵和值的普通數(shù)組,其中值是組ID.
在while內(nèi)嘗試使用foreach-無效,與while循環(huán)外相同.
$default數(shù)組如下所示:
Array
(
[0] => 1
[1] => 7
[2] => 2
[3] => 3
)
解決方法:
您沒有設(shè)置$group_id.以下代碼將使用默認(rèn)值數(shù)組和單個(gè)值:
if(is_array($default)) {
$selected = in_array($row['group_id'], $default);
} else {
$selected = !strcasecmp($row['group_id'], $default);
}
$selected = $selected ? ' selected="selected"' : '';
除此之外,請(qǐng)查看@Barmar在his answer中編寫的注釋,并使用htmlspecialchars轉(zhuǎn)義任何動(dòng)態(tài)文本,例如$s_group_name.
此評(píng)論與您的??特定問題無關(guān),但是您仍然應(yīng)該考慮它.
標(biāo)簽:select,default,arrays,php
來源: https://codeday.me/bug/20191031/1979063.html
總結(jié)
以上是生活随笔為你收集整理的php selected,php-多个选择字段-多次使用selected =“ selected”的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: php数组指定键名,查找数组中指定键名的
- 下一篇: java发送小程序模板消息,记录_小程序