php selected,php-多个选择字段-多次使用selected =“ selected”
我有一個像這樣的多個領域:
<?php echo $foo->multi_group_select_options($group_ids, $excluded_id); ?>
我設法通過此函數從數據庫中獲取結果并將其放在< select>中,但是我無法設法保持選定的值處于選中狀態.
第一個參數應將“ selected =“ selected”添加到提交之前標記的字段中,然后再提交,第二個參數阻止顯示group_id(第2個參數應能正常工作).
這是功能…
/**
* 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;
}
我作為第一個參數放入的數組是完全有效的.它只是具有鍵和值的普通數組,其中值是組ID.
在while內嘗試使用foreach-無效,與while循環外相同.
$default數組如下所示:
Array
(
[0] => 1
[1] => 7
[2] => 2
[3] => 3
)
解決方法:
您沒有設置$group_id.以下代碼將使用默認值數組和單個值:
if(is_array($default)) {
$selected = in_array($row['group_id'], $default);
} else {
$selected = !strcasecmp($row['group_id'], $default);
}
$selected = $selected ? ' selected="selected"' : '';
除此之外,請查看@Barmar在his answer中編寫的注釋,并使用htmlspecialchars轉義任何動態文本,例如$s_group_name.
此評論與您的??特定問題無關,但是您仍然應該考慮它.
標簽:select,default,arrays,php
來源: https://codeday.me/bug/20191031/1979063.html
總結
以上是生活随笔為你收集整理的php selected,php-多个选择字段-多次使用selected =“ selected”的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: php数组指定键名,查找数组中指定键名的
- 下一篇: php 七牛云fetch,七牛云调用类