首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何设置选择选项,如果在ci中选择提交,选项值从数据库中获取?

如何设置选择选项,如果在ci中选择提交,选项值从数据库中获取?
EN

Stack Overflow用户
提问于 2015-02-16 08:31:23
回答 1查看 3.7K关注 0票数 1

我想设置选择选项,如果选择提交在ci中,选项值从数据库中获取?我试过了,但没成功!有人能告诉我解决办法吗?

这是我的控制器

代码语言:javascript
复制
 public function add(){

    $this->pageAction = 'Add';

    $error = array ();

    $finalData = array ();

    if($this->input->post('doAct') == strtolower($this->pageAction)){



        $this->form_validation->set_rules('country', 'Country Name', 'required');
        $this->form_validation->set_rules('city', 'City Name', 'required');
        $this->form_validation->set_rules('status', 'Status', 'required');

        if($this->form_validation->run() == FALSE){

            $finalData['error'] = "error";
        }else{

            $data = array (
             'c_id'=>$this->input->post('country'),
             'name'=>$this->input->post('city'),
             'active'=>$this->input->post('status')
            );



            if($this->main_manager->insert($data, "city") == false){

                $finalData['error'] = 'Cannot save data. Please try again.';
            }else{

                $this->session->set_flashdata('msg', 'The data has been added successfully');

                redirect(SITE_ADMIN_URL . "city_admin/index");
            }
        }
    }
    $finalData['country'] = $this->main_manager->select_all('country');
    $this->load->view('administrator/header');

    $this->load->view('administrator/add_city', $finalData);

    $this->load->view('administrator/footer');
}

这是我的观点

代码语言:javascript
复制
<form class="form-horizontal" name="" id="" enctype="multipart/form-data" method="post" action="<?php echo SITE_ADMIN_URL;?>city_admin/add"/>

                    <div class="control-group">

                        <label class="control-label" for="form-field-1">Country Name</label>
                        <div class="controls">
                            <select name="country">
                                <option value="">Please Select Country</option>
                                <?php
                                for($a = 0; $a < count($country); $a++){
                                    ?>
                                    <option value="<?php echo $country[$a]['id'];?>"><?php echo $country[$a]['name'];?></option>
                                    <?php
                                }
                                $select = "";
                                if($country == "selected"){
                                    $country = $select;
                                    ?>
                                    <option value="<?php echo $select[$a]['id'];?>"><?php echo $select[$a]['name'];?></option>
                                <?php }
                                ?>
                            </select>
                            <!--<input type="text" id="reason" name="country" value="<?php // echo set_value('country');  ?>" />-->

                        </div>

                    </div>

                    <div class="control-group">

                        <label class="control-label" for="form-field-1">City</label>

                        <div class="controls">

                            <input type="text" id="reason" name="city" value="<?php echo set_value('city');?>" />

                        </div>

                    </div>
                    <div class="control-group">

                        <label class="control-label" for="form-field-1">Status</label>

                        <div class="controls">


                            <input type="radio" name="status" id="status" value="1" <?php echo set_radio('status', '1');?>>

                            <span class="lbl">&nbsp;Active</span>

                            <input type="radio" name="status" id="status" value="0" <?php echo set_radio('status', '0');?>>

                            <span class="lbl">&nbsp;Inactive</span>

                        </div>

                    </div>

                    <div class="space-4"></div>

                    <div class="form-actions">

                        <input type="hidden" name="doAct" value="add">

                        <button class="btn btn-info" type="submit" name="submit">

                            <i class="icon-ok bigger-110"></i>

                            Submit

                        </button>

                        &nbsp; &nbsp; &nbsp;

                        <button class="btn" type="reset">

                            <i class="icon-undo bigger-110"></i>

                            Reset

                        </button>

                    </div>

                    </form>
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-02-16 10:34:31

在您的示例中,我不知道您在哪里定义默认值,因为您只将$country数组发送到视图。对于这个例子,我们假设在您的视图中有一个名为$default_value的变量。

如果您想继续构建表单而不使用form_helper:

代码语言:javascript
复制
<select name="country">
    <option value="">Please Select Country</option>
    <?php foreach ($country as $c): ?>
        <option value="<?php echo $c->id ?>" <?php echo ($c->id == $default_value)?'selected="selected"':''?>><?php echo $c->name?></option>    
    <?php endforeach ?>
</select>

但是您也可以使用form_helper:

1/在控制器中准备一个数组,该数组将填充您的选择。

代码语言:javascript
复制
$data["countryArray"] = array(
              '-1'    => 'Please Select Country',
              '1'  => 'Australia',
              '2'  => 'France',
              '3'  => 'Belgium',
              '4' => 'Brasil',
            );

然后在你看来:

代码语言:javascript
复制
echo form_dropdown('country', $countryArray, set_value($default_value', '-1'));
//First param : name attribute | second param : array containing <options> | third param : default value
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/28537302

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档