Codeigniter foreach Select 菜单 'Selected' 选项
Codeigniter foreach Select Menu 'Selected' Option
我正在为应用程序创建主题 select 选项。我希望用户从 select 选项中选择他们想要的主题,浅色或深色。
我像这样在数据库中存储主题名称:
然后我将调用模型中的所有主题并使用以下代码返回数组:
public function getThemes() {
$query = $this->db->query('SELECT * FROM theme');
return $query->result_array();
}
我正在使用我的构造函数来获取数据并将其呈现到我的设置视图中,如下所示:(我同时在 $this->data 中发送一些东西,这就是它在数组中的原因,但我删除该代码)
$this->data = [
'themes' => $this->model_setting->getThemes()
];
$this->render('backend/standart/administrator/setting/setting_general', $this->data);
在我的 HTML 视图中,我有以下 HTML 成功显示了正确的 2 个可用主题:
<div class="col-sm-12">
<label>Select Your Desired Theme</label><br>
<select class="form-control" name="site_color_theme" id="site_color_theme">
<?php foreach ($themes as $theme): ?>
<option value="<?= $theme['theme']; ?>" ><?= $theme['name']; ?></option>
<?php endforeach; ?>
</select>
</div>
当我保存设置表单时,我正在使用主题名称更新数据库中的选项 table。 Html 正文 Class 调用此选项 table 并找到所选主题并使用它来呈现特定的 CSS 样式表。
我遇到的问题是当我保存我的设置时,Select 选项不显示保存的主题名称以表明这是所选的活动主题。
当用户访问 select 另一个主题的设置页面时,如何获得 Select 显示所选主题的选项?
- 您应该在
theme
table 中有 active_theme
列
active_theme
设置为 1
提交表单下拉列表 site_color_theme
时(其余主题记录设置为 0
)
- 您应该使用 Codeigniter Form Helper 来做到这一点:https://www.codeigniter.com/user_guide/helpers/form_helper.html#form_dropdown
// $themes = Theme list array [id => theme-name, id => theme-name]
// $active_theme = Record of "active_theme" with value equal to "1"
// $extra = Custom HTML attributes e.g. class="something" onclick="function(js)"
echo form_dropdown('site_color_theme', $themes, $active_theme, $extra);
我正在为应用程序创建主题 select 选项。我希望用户从 select 选项中选择他们想要的主题,浅色或深色。
我像这样在数据库中存储主题名称:
然后我将调用模型中的所有主题并使用以下代码返回数组:
public function getThemes() {
$query = $this->db->query('SELECT * FROM theme');
return $query->result_array();
}
我正在使用我的构造函数来获取数据并将其呈现到我的设置视图中,如下所示:(我同时在 $this->data 中发送一些东西,这就是它在数组中的原因,但我删除该代码)
$this->data = [
'themes' => $this->model_setting->getThemes()
];
$this->render('backend/standart/administrator/setting/setting_general', $this->data);
在我的 HTML 视图中,我有以下 HTML 成功显示了正确的 2 个可用主题:
<div class="col-sm-12">
<label>Select Your Desired Theme</label><br>
<select class="form-control" name="site_color_theme" id="site_color_theme">
<?php foreach ($themes as $theme): ?>
<option value="<?= $theme['theme']; ?>" ><?= $theme['name']; ?></option>
<?php endforeach; ?>
</select>
</div>
当我保存设置表单时,我正在使用主题名称更新数据库中的选项 table。 Html 正文 Class 调用此选项 table 并找到所选主题并使用它来呈现特定的 CSS 样式表。
我遇到的问题是当我保存我的设置时,Select 选项不显示保存的主题名称以表明这是所选的活动主题。
当用户访问 select 另一个主题的设置页面时,如何获得 Select 显示所选主题的选项?
- 您应该在
theme
table 中有 active_theme
设置为1
提交表单下拉列表site_color_theme
时(其余主题记录设置为0
)- 您应该使用 Codeigniter Form Helper 来做到这一点:https://www.codeigniter.com/user_guide/helpers/form_helper.html#form_dropdown
active_theme
列
// $themes = Theme list array [id => theme-name, id => theme-name]
// $active_theme = Record of "active_theme" with value equal to "1"
// $extra = Custom HTML attributes e.g. class="something" onclick="function(js)"
echo form_dropdown('site_color_theme', $themes, $active_theme, $extra);