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

pxiryf3j  于 2021-06-20  发布在  Mysql
关注(0)|答案(3)|浏览(331)

如何根据数据库或模型中的数据从下拉列表中预先选择要查看的选项。
我还想保存这个数据,如果在下拉选项的变化。
我试试这个密码

<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>
pcww981p

pcww981p1#

尝试以下操作:

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

noj0wjuj2#

正在使用类。。。大多数下拉组件都使用活动类来定义下拉列表中的第一个元素,所以只要将它放在您想要的元素上就可以了

okxuctiv

okxuctiv3#

这通常是我喜欢做的事情(这会转到您的控制器):

// 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>

显然,你需要改变更多的东西,但我相信这会给你一个更好的想法和方法。

相关问题