用户
 找回密码
 入住 CI 中国社区
搜索
查看: 1029|回复: 2
收起左侧

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

[复制链接]
发表于 2016-5-21 14:39:43 | 显示全部楼层 |阅读模式
PHP复制代码
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[0];
  $bxsheet_class_name = $bxsheet_class[1];
  $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();
       }
      }
  }
 }
复制代码
PHP复制代码
<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>
复制代码
PHP复制代码
<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>
复制代码
PHP复制代码
<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>
复制代码


发表于 2016-5-22 11:01:07 | 显示全部楼层
这个问题完全可以自己排查,这是方法问题,不是知识问题。

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

 楼主| 发表于 2016-5-22 15:47:25 | 显示全部楼层
感谢yuzhigang5460,通过print已经解决问题,是代码的问题,将三个获取ID的代码合为一个就可以正常运行了。

本版积分规则