xaay 发表于 2016-5-21 14:39:43

大家帮我看看获取表单ID是那错了,只能获取1个

public function edit_post($id=null)
{

         
/*增加请修级别*/
$bxjb_class = explode('-',trim($this->input->post('bxjb_class_id')));
$bxjb_class_id = $bxjb_class;
$bxjb_class_name = $bxjb_class;
$bxsheet = $this->filter_post();
$bxsheet['bxjb_class_id'] = $bxjb_class_id;
   

/*增加设备类别*/
$bxsb_class = $this->input->post('bxsb_class_name');
$bxsb_class_id = $bxsb_class;
$bxsb_class_name = $bxsb_class;
$bxsheet = $this->filter_post();
$bxsheet['bxsb_class_id'] = $bxsb_class_id;
      

      //请修类别
$bxsheet_class = explode('-',trim($this->input->post('bxsheet_class_id')));
$bxsheet_class_id = $bxsheet_class;
$bxsheet_class_name = $bxsheet_class;
$bxsheet = $this->filter_post();
$bxsheet['bxsheet_class_id'] = $bxsheet_class_id;

$this->check_data($bxsheet);

$this->db->trans_begin();

print_r($bxsheet);exit;
if($id==null)
{
   $bxsheet_number = $this->build_bxsheet_number($bxsheet_class_id,$bxsheet_class_name,$bxjb_class_id,$bxjb_class_name,$bxjb_class_id,$bxjb_class_name);
   $bxsheet['number'] = $bxsheet_number;
   $bxsheet['create_time'] = Date('Y-m-d H:i');
   if($this->current_user!=null)
   {
    $bxsheet['creater_id'] = $this->current_user->id;
   }
   $this->db->insert("bxsheet",$bxsheet);
}
else
{
   $this->db->update("bxsheet",$bxsheet,array('id' => $id));
}

if ($this->db->trans_status() === FALSE)
{
      echo "出现错误,事务已回滚";
      $this->db->trans_rollback();
}
else
{
      $this->db->trans_commit();
      echo "success";
      if($id==null)
      {
       $sys = $this->config->item('sys');
       if($sys['prompt_type_audio'])
       {
      $this->send_tts();
       }
       if($sys['prompt_type_email'])
       {
      $this->send_email();
       }
      }
}
}
<select name="bxsb_class_name">
    <?php foreach($bxsb_classs as $bxsb_class):?>
   <option name="p_bxsb_name" id="bxsb_name" value="<?=$bxsb_class->id."-".str_replace("-","",$bxsb_class->name)?>" <?= $bxsb_class_id==$bxsb_class->id? "selected" : ""?>>
      +<?=$bxsb_class->name?>
   </option>
    <?php endforeach;?>
    </select>
<select name="bxjb_class_id">
    <?php foreach($bxjb_classs as $bxjb_class):?>
   <option value="<?=$bxjb_class->id."-".str_replace("-","",$bxjb_class->name)?>" <?= $bxjb_class_id==$bxjb_class->id? "selected" : ""?>>
      +<?=$bxjb_class->name?>
   </option>
    <?php endforeach;?>
    </select>
<select name="bxsheet_class_id">
    <?php foreach($bxsheet_classs as $bxsheet_class):?>
   <option value="<?=$bxsheet_class->id."-".str_replace("-","",$bxsheet_class->name)?>" <?= $bxsheet_class_id==$bxsheet_class->id? "selected" : ""?>>
      +<?=$bxsheet_class->name?>
   </option>
    <?php endforeach;?>
    </select>

yuzhigang5460 发表于 2016-5-22 11:01:07

这个问题完全可以自己排查,这是方法问题,不是知识问题。

首先,用firebug或者Chrome自带的F12,检查一下是否有三个ID被Post到后台了。如果没有,那就是select那一块写的有问题。
然后,最简单地,print一下每个ID。看在哪一步开始丢失的,哪里丢失了就是哪里的代码有问题,包括你这里的trim,explode, 都是潜在的可能。

xaay 发表于 2016-5-22 15:47:25

感谢yuzhigang5460,通过print已经解决问题,是代码的问题,将三个获取ID的代码合为一个就可以正常运行了。
页: [1]
查看完整版本: 大家帮我看看获取表单ID是那错了,只能获取1个