처음으로 codeigniter를 사용하고 있습니다. 저는 MVC에 익숙하지만 PHP가 아닌 .net 만 사용합니다.codeigniter - 관계형 테이블
그래서 '카테고리'테이블, '국가'테이블 및 '카테고리 - 국가'테이블이 있습니다. 첫 번째 2 개의 테이블에 'id'와 'name'만 있고 세 번째 테이블에 'country_id'와 'category_id'가 있다고 가정 해 보겠습니다. 하나의 카테고리에는 여러 국가가 할당 될 수 있습니다.
모델, 뷰 및 컨트롤러를 모두 작성하고 카테고리를 편집 할 준비가되었습니다.
function get_category_by_id($id)
{
$query = $this->db->get_where('categories',array('id'=>$id));
if($query->num_rows()<=0)
{
echo 'Invalid category id';die;
}
else
{
return $query->row();
}
}
보기 :
<form class="form-horizontal" id="addcategory" action="<?php echo site_url('admin/category/updatecategory');?>" method="post">
<input type="hidden" name="id" value="<?php echo $post->id;?>"/>
<div class="form-group">
<label class="col-sm-3 col-md-3 control-label"><?php echo lang_key_admin('name');?>:</label>
<div class="col-sm-4 col-md-4 controls">
<input type="text" name="name" value="<?php echo $post->name;?>" placeholder="<?php echo lang_key_admin('type_something');?>" class="form-control input-sm" >
<?php echo form_error('title'); ?>
</div>
</div>
</form>
컨트롤러 :
public function edit($id='')
{
$value['post'] = $this->category_model->get_category_by_id($id);
$data['title'] = lang_key_admin('edit_category');
$data['content'] = load_admin_view('categories/editcategory_view',$value,TRUE);
load_admin_view('template/template_view',$data);
}
public function updatecategory()
{
$this->form_validation->set_rules('name', lang_key_admin('name'), 'required');
if ($this->form_validation->run() == FALSE)
{
$id = $this->input->post('id');
$this->editcategory($id);
}
else
{
$id = $this->input->post('id');
$data = array();
$data['name'] = $this->input->post('name');
$this->category_model->update_category($data,$id);
$this->session->set_flashdata('msg', '<div class="alert alert-success">'.lang_key_admin('data_updated').'</div>');
redirect(site_url('admin/category/edit/'.$id));
}
}
편집 functionallity을
모델
이제 해당 뷰에 선택 목록 (다중 선택)을 추가하여 해당 범주에 할당 할 국가를 선택하고 세 번째 테이블에 관계를 저장합니다. 내가 어떻게 해? 목록에있는 모든 국가를 보여주고 원하는 국가를 선택할 수 있어야합니다. 또한 페이지가로드 될 때 이미 목록에 선택된 국가가 목록에 선택되기를 원합니다.
팁 주셔서 감사합니다. 그들은 나에게 길을 보여 줬어. 최대한 빨리 솔루션을 게시하겠습니다. – Hahn86