отправляя форму, он показывает, что "column_name не может быть нулевым", но внутри формы значение не является нулевым. (Codeigniter) - PullRequest
0 голосов
/ 07 января 2019

Просмотр: (вид изнутри, имя_транзакции не является нулевым)

<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>

Контроллер (Пользователь): (просто вызывает модель)

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

Модель (Mdl_data) :( внутри модели, свойство равно нулю)

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 голосов
/ 07 января 2019

Во-первых, узнайте, как Model-View-Controller работает

Во-вторых, <select name="transaction_particular_name"> находится внутри цикла

Попробуй получить вот так

<select name="transaction_particular_name[]">

Ваши данные попадут в контроллер, а не в модель

Контроллер

$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);
}
0 голосов
/ 07 января 2019

У вас слишком много ошибок в вашем коде ... попробуйте это ... и это только добавит вас поле ... без ошибок ... на контроллере

    // $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);
    }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...