我有一个更新文章的表单。在这个表单中,我有两个选择框,一个用于部分,另一个用于子部分。一篇文章应该有一个部分,但子部分不是必需的。在我的更新表单中,如果一个部分有子部分应该带它。我的问题是,在我的更新表单中,如果一个部分没有任何小节,它不会显示我的表单的延续,因为在模型中它返回 false。我尝试返回 null 或空数组,但它无法解决我的问题。
型号:
function get_subsection($sec_id,$subsec_name){
$this->db->selec("*");
$this->db->where('sec_id',$sec_id);
$this->db->where('subsec_name !=',$subsec_name);
$query=$this->db->get('sub_section');
if($query->num_rows() > 0)
{
return $query;
}
else
return false;
}
如果此函数在更新表单中返回 false,则不会显示表单的延续和编辑提交按钮。我删除了 else 条件,但它无法解决问题。
控制器
function edit($id){
$data['rec']=$this->amodel->edit_art($id);//get the record to update
foreach($data['rec'] as $a)
{
$sections['items']=$this->amodel->section('$a->sec_id');//select all sections without that which selected by user
$subsetion['sub']=$this->amodel->subsection($a->sec_id,$a->subsec_name);//select all subsections of a section which selected by user
}
$this->load->view('edit_art',array_merge($data,$sections,$subsection));
}
问题在于
$subsetion
,它在数据库中没有记录。
请指导我该怎么做才能显示所有表单元素,即使该小节为空。
如果我理解你的问题那么你可以尝试这个
型号:
function get_subsection($sec_id,$subsec_name){
$this->db->selec("*");
$this->db->where('sec_id',$sec_id);
$this->db->where('subsec_name !=',$subsec_name);
$query=$this->db->get('sub_section');
return $query->result();
控制器:
function edit($id){
$data['rec']=$this->amodel->edit_art($id);//get the record to update
foreach($data['rec'] as $a)
{
$data['items']=$this->amodel->section('$a->sec_id');//select all sections without that which selected by user
$data['sub']=$this->amodel->subsection($a->sec_id,$a->subsec_name);//select all subsections of a section which selected by user
}
$this->load->view('edit_art',$data);
}
查看:
<?php echo form_dropdown('items',$items,"",'class=""'); ?>
<?php echo form_dropdown('sub',$sub,"",'class=""'); ?>
让我知道是否可以。如果不行,请发布您的查看代码。
尝试以下操作:
function edit($id){
$data['rec']=$this->amodel->edit_art($id);//get the record to update
foreach($data['rec'] as $a){
if($this->amodel->count_sections($a->sec_id) > 0)
$sections['items']=$this->amodel->section('$a->sec_id');//select all sections without that which selected by user
else
$sections['items'] = NULL;
if($this->amodel->count_subsections($a->sec_id,$a->subsec_name) > 0)
$subsetion['sub']=$this->amodel->subsection($a->sec_id,$a->subsec_name);//select all subsections of a section which selected by user
else
$subsetion['sub']= NULL;
}
$this->load->view('edit_art',array_merge($data,$sections,$subsection));
}
计算可用节和子节的数量,并尝试读取记录(如果可用)! 在模型中编写所需的函数(count_sections 和 count_subsections)!