在CodeIgniter中保存下拉列表中的数据

在CodeIgniter中保存下拉列表中的数据,codeigniter,Codeigniter,我创建了一个菜单页面,其中有一个下拉菜单和数据库中的菜单列表,还有一个输入新菜单的文本框 我遇到的问题是,我似乎不知道如何保存我的下拉列表。例如,我在下拉列表中有一个名为“关于我们”的菜单,我想创建一个名为“团队”的新菜单,“团队”是“关于我们”的子菜单 所以在我的桌子上我会有这样的东西 id | parent | title ------------------------ 1 | NULL | About Us 2 | 1 | Team 菜单控制器 function

我创建了一个菜单页面,其中有一个下拉菜单和数据库中的菜单列表,还有一个输入新菜单的文本框

我遇到的问题是,我似乎不知道如何保存我的下拉列表。例如,我在下拉列表中有一个名为“关于我们”的菜单,我想创建一个名为“团队”的新菜单,“团队”是“关于我们”的子菜单

所以在我的桌子上我会有这样的东西

 id | parent | title
------------------------
 1  | NULL   | About Us
 2  | 1      | Team
菜单控制器

function get_data_from_post()
{
    $data['title'] = $this->input->post('title', TRUE);
    $data['parent'] = $this->input->post('parent', TRUE);


    if(!isset($data)){
        $data = '';
    }

    return $data;
}

function get_data_from_db($update_id)
{
    $query = $this->get_where($update_id);

    foreach($query->result() as $row){
        $data['title'] = $row->title;
        $data['parent'] = $row->parent;
    }

    return $data;
}

function create()
{
    $update_id = $this->uri->segment(3);
    $submit = $this->input->post('submit', TRUE);

    if($submit == "Submit"){
        //person has submitted the form
        $data = $this->get_data_from_post();
    }else{
        if(is_numeric($update_id)){
            $data = $this->get_data_from_db($update_id);
        }
    }

    if(!isset($data)){
        $data = $this->get_data_from_post();
    }


    //$titles = array();

    $query = $this->get('title');
    foreach($query->result() as $row){
        $titles[] = $row->title;
    }

    $data['titles'] = $titles;

    $data['update_id'] = $update_id;

    $data['view_file'] = "create";
    $this->load->module('templates');
    $this->templates->admin_template($data);
}

function submit()
{
    $this->load->library('form_validation');

    $this->form_validation->set_rules('title', 'Title', 'required|xss_clean');

    if($this->form_validation->run($this) == FALSE){
        $this->create();
    }else{
        $data = $this->get_data_from_post();



        $update_id = $this->uri->segment(3);

        if(is_numeric($update_id)){
            $this->_update($update_id, $data);
        }else{
            $this->_insert($data);
        }

        redirect('menus/manage');
    }
}
create.php视图

<div class="row">
<div class="col-md-12">
    <h2>Create Menus</h2>   
    <h5>Welcome Jhon Deo , Need to make dynamic. </h5>
</div>
</div>

<hr />

<?php
    echo validation_errors("<p style='color: red;'>", "</p>");
    echo form_open('menus/submit/'.$update_id);
?>
<div class="row">
    <div class="col-md-12">
        <form role="form">
        <div class="form-group">
    <select name="menus">
        <?php
            foreach($titles as $title){

                echo "<option value=".$title.">".$title."</option>";
            }
        ?>
        </select>


    </div>

        <div class="form-group">
            <label>Title</label>
            <!-- <input class="form-control" /> -->
            <?php
                $data = array(
                            'name' => 'title',
                            'id' => 'title',
                            'value' => $title,
                            'class' => 'form-control',
                        );

                echo form_input($data);
            ?>
        </div>

        <?php

            $data = array(
                'name' => 'submit',
                'id' => 'submit',
                'value' => 'Submit',
                'class' => 'btn btn-success',
                'style' => 'width: 100%',
            );

            echo form_submit($data);
        ?>
    </form>
</div>
</div> 
<?php    
    echo form_close();
?>

如果您有什么不明白的地方,或者您需要我提供更多信息,请告诉我。

您应该声明一个模型。从那里,您可以创建一个函数,该函数将保存通过控制器初始化的数据库中的值。您应该利用它的MVC模式。CodeIgniter有一个很好的文档来阅读我所指出的内容

你能给我们打印($titles)吗?当然我更新了我的问题
Array
(
    [0] => About Us
    [1] => Home
)