在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
)