有两张桌子。
在codeigniter中我有一个名为submenu的控制器,view是vwsubmenu。 在添加函数中,我必须将名称,URL和idcategory添加到子类别表中。但是在视图页面中有三个字段,例如一个是输入类型文本(名称),输入类型文本(URL),选择类型是名称类别表中的类别。
现在我想从名称(这是select类型的输入)中获取类别表的id,并在idcategory字段中插入子类别表。 如何在codeigniter中做到这一点。
请帮助
答案 0 :(得分:0)
答案 1 :(得分:0)
首先改进您的数据库结构。
CREATE TABLE IF NOT EXISTS `category` (
`idcategory` int(11) NOT NULL AUTO_INCREMENT,
`parent_id` int(11) NOT NULL,
`name` varchar(255) NOT NULL,
`url` varchar(255) NOT NULL,
PRIMARY KEY (`idcategory`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1 AUTO_INCREMENT=8 ;
试试这个......
http://forum.codeigniter.com/archive/index.php?thread-493.html
答案 2 :(得分:0)
public function add_submenu()
{
if(isset($_REQUEST['submit']))
{
$namesubcategory=$_POST['namesubcategory'];
$urlsubcategory=$_POST['urlsubcategory'];
$parent_menu=$_POST['parent_menu'];
$a=$parent_menu;
$query = $this->db->query('Select idcategory from category where namecategory="$a"');
$row = $query->row();
$b=$row->idcategory;
$sql="insert into subcategory values('','$namesubcategory','$urlsubcategory','$b')";
$val = $this->db->query($sql,array($namesubcategory ,$urlsubcategory,$b));
redirect('admin/submenu/');
}
$arr['page'] = 'submenu';
$this->load->view('admin/vwAddSubmenu',$arr);
}
这是子菜单控制器中的添加功能
答案 3 :(得分:0)
首先,您必须将数据发送到模型表单控制器
$result= $this->model_name->model_function($data);
然后你可以在模型中指定它:
public function functionName( $data){
$this->db->insert('table_name',$data);
}
答案 4 :(得分:0)
在子类别视图中加载3个输入字段
idcategory
(这应该是类别表的下拉列表)然后使用提供的设置将数据添加到数据库。
<强>代码强>
加载子类别视图之前 获取控制器中的category
表数据
$data['category'] = $this->Model_name->get_category();
$this->load->view('sub_category_view',$data);
在模型中
public function get_category()
{
$query = $this->db->query->("SELECT * FROM category");
$result = $query->result_array();
return $result;
}
在子类别视图中
<form method="post" action="<?php echo base_url() ?>index.php/controller/add_subcategory">
<input type="text" name="name" value="Sub Category Name">
<input type="url" name="url" value="Sub Category URL">
<select name="category">
<?php
foreach ($category as $item)
{
?>
<option id="<?php echo $item['id'] ?>"><?php echo $item['name'] ?></option>
<?php
}
?>
</select>
<input type="submit" name="submit" value="Add Sub Category">
</form>
//将子类别添加到数据库
在控制器
中public function add_subcategory()
{
if(isset($_POST['submit']))
{
$name = mysql_real_escape_string($_POST['name']);//if `mysqli` change this mysql_real_escape_string
$url = $_POST['url'];
$cat = $_POST['category'];
$result = $this->Model_name->insert_subcategory($name,$url,$cat);
if(isset($result))
{
echo 'insert successfully';
}
else
{
echo 'insert Failed';
}
}
}
在模型中
function insert_subcategory($name,$url,$cat)
{
$data = array(
'name' => $name,
'url' => $url ,
'idcategory' => $cat
);
$this->db->insert('subcategory', $data);
}