Codeigniter foreach选择菜单“选定”选项

时间:2019-02-17 21:46:03

标签: database codeigniter select option

我正在为应用创建主题选择选项。我希望用户从选择选项中选择他们想要的主题,浅色或深色。

我将主题名称存储在数据库中,如下所示:

database

然后我调用模型中的所有主题,并使用以下代码返回数组:

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>

保存设置表单时,我正在使用主题名称更新数据库中的选项表。 Html Body Class会调用此选项表,并找到选定的主题,并使用它来呈现特定的CSS样式表。

我遇到的问题是,当我保存设置时,“选择选项”不显示已保存的主题名称,以表明这是所选的活动主题。

当用户访问设置页面以选择另一个主题时,如何获得选择选项以显示所选主题?

1 个答案:

答案 0 :(得分:0)

  1. 您应该在FormData表中有submittableData.append('game[name]', JSON.stringify(this.game.name)); submittableData.append('game[genre_ids]', JSON.stringify(genre_ids)); submittableData.append('game[engine_ids]', JSON.stringify(engine_ids));
  2. 提交表单下拉列表active_theme时将
  3. theme设置为active_theme(其余主题记录设置为1
  4. 您应该使用Codeigniter Form Helper来做到这一点:https://www.codeigniter.com/user_guide/helpers/form_helper.html#form_dropdown
site_color_theme