如何使用来自数据库的数据选择下拉选项?

时间:2018-07-03 11:34:36

标签: php html mysql codeigniter

如何根据来自数据库或模型的数据从下拉菜单中预选要查看的数据。

如果下拉菜单选项发生更改,我也想保存此数据。

我尝试使用此代码

   <select class="form-control appointment_status" >
   <option <?php if ($row['status'] == 0) { ?> selected <?php } ?> value="0">In process</option>
   <option <?php if ($row['status'] == 1) { ?> selected <?php } ?> value="1">Completed</option>
   </select>

3 个答案:

答案 0 :(得分:0)

尝试这样的事情:

$status = ($row['status']) ? 'selected' : '';
echo <<<END
<option value="0" $status>In process</option>
<option value="1" $status>Completed</option>
END;

答案 1 :(得分:0)

这通常是我想要做的(这将进入您的控制器):

// Select Categories    
            $categories_options = array();
            $categories_options[0] = 'Select Categories';

            $categories_list = $this->Terms_model->get_list();

            foreach($categories_list as $cat){
                $categories_options[$cat->term_id] = $cat->title;
            }

            $data['categories_options'] = $categories_options;

假设您将$ data变量传递给视图,则可以这样显示它:

<!-- Post Categories -->
    <?php
        $data = array(
            'class'     =>  'form-control js-example-basic-multiple',
            'value'     =>  set_value('categories'),
            'multiple'  =>  'multiple',
        );
    ?>
    <div class="form-group">
        <?= form_label('Categories','categories'); ?>
        <?= form_dropdown('categories[]', $categories_options, 0, $data); ?>
    </div>

然后对其进行编辑(不同的视图):

<?php
        $options = array(
            ''  => 'Please select an option',
            '0' => 'In process',
            '1' => 'Completed',
        );
        $data = array('class' => 'form-control');
    ?>
    <div class="form-group">
        <?= form_label('Status', 'status'); ?>
        <?= form_dropdown('status', $options, $item->status, $data); ?>
    </div>

显然,您将需要更改更多内容,但是我敢肯定,它将为您提供更好的想法和方法。

答案 2 :(得分:0)

使用类...大多数下拉组件使用 active 类来定义下拉列表中的第一个元素,因此只需将其放在所需的元素上即可完成操作