提交表单,它显示“ column_name不能为空”,但在表单内部值不为null。 (Codeigniter)

时间:2019-01-07 06:00:29

标签: codeigniter

视图:(在内部视图中,transaction_particular_name不为空)

<form method="post" action="<?php echo base_url().'user/add_transaction'; ?>">
  <div class="container">
  <label for="uname"><b>Purpose of Fee's</b></label>
    <select name="transaction_particular_name">
      <?php foreach($all_particular as $key){ ?>
      <option value="<?php echo $key->particular_name; ?>"><?php echo $key->particular_name; ?></option>
      <?php } ?>
    </select>       
    <button type="submit">Proceed</button>
  </div>
</form>

Controller(User):(只需调用模型)

public function add_transaction()
      {
        $query=$this->Mdl_data->insert_transaction();
      }

Model(Mdl_data):(在模型内部,该属性为null)

public function insert_transaction()
    {

        $tablename='transaction';
        $columns_and_fields = array('transaction_particular_name');
          foreach ($columns_and_fields as $key) 
            $data[$key]=$this->input->post($key);
        $query=$this->db->insert($tablename,$data);
        return $query;
    }

请帮助任何人,我想摆脱它。

2 个答案:

答案 0 :(得分:0)

您的代码有太多错误...尝试此操作..它只会将您添加到字段..中,而不会出现任何错误... 在控制器上

    // $data = $this->input->post('transaction_particular_name');
$data = $_POST['transaction_particular_name'];
if($data){
  $query=$this->Mdl_data->insert_transaction($data);
} else {
    echo "unable to capture data... "
}

和型号

public function insert_transaction($data = '')
    {

        $tablename='transaction';
        $columns_and_fields = array('transaction_particular_name'=>$data); 
        $this->db->insert($tablename,$columns_and_fields);
    }

答案 1 :(得分:0)

首先,了解 Model-View-Controller 的工作方式

第二,<select name="transaction_particular_name">在循环内

尝试像这样

<select name="transaction_particular_name[]">

您的数据将在Controller中获取,而不是在模型中获取

控制器

$transaction_particular_name将以数组形式使用foreach循环插入

public function add_transaction()
{
    foreach($transaction_particular_name as $trans){
        $data = array('transaction_particular_name' => $trans);
        $query=$this->Mdl_data->insert_transaction($data);
    }
}

模型

public function insert_transaction($data)
{
   return $this->db->insert('transaction', $data);
}