Intereting Posts
логические переменные, отправленные через AJAX, обрабатываются как строки на стороне сервера Вызов gcc с shell_exec в php Как хэш длинные пароли (> 72 символа) с blowfish В PHP значение 0 (int, ноль) равно «первым» или «последнему» (строки)? Обновление базы данных с помощью ссылки html link с помощью ajax php mysql socket.io + php + – это реалистичное решение на данный момент времени Как включить завиток в xampp? ZF2: Как подключить специальный слушатель модуля для отправки. Форма входа в jquery в div без обновления всей страницы Считать количество значений в массиве с заданным значением Как отсортировать массив ассоциативных массивов по значению заданного ключа в PHP? выделите слово в строке, если оно содержит ключевое слово JQuery Ajax success: function () Пользовательский просмотр Помощник сбой при получении строкового параметра Как я могу извлечь защищенный паролем .zip-файл из моего PHP-приложения?

Как вставить несколько значений счета в codeigniter

У меня есть форма с макетом ниже в codeigniter:

<input type="text" name="product">`<input type="text" name="cost">` 

Форма имеет несколько строк с одинаковыми именами ввода. Попробовали несколько предложений, таких как создание патчей и этот поток, но не работающий

Использовать массив одинаковых имен текстовых полей для пакетной вставки

Функция insert_batch вставляет несколько данных за раз в таблицу в codeigniter

Просмотр страницы

 <form action="<?=base_url('Test_c/insert_data')?>" method="post"> <div class="col-sm-12"> <input type="text" name="product[]"><input type="text" name="cost[]"> </div> <div class="col-sm-12"> <input type="text" name="product[]"><input type="text" name="cost[]"> </div> <div class="col-sm-12"> <input type="text" name="product[]"><input type="text" name="cost[]"> </div> <div class="col-sm-12"> <input type="text" name="product[]"><input type="text" name="cost[]"> </div> <div class="col-sm-12"> <input type="text" name="product[]"><input type="text" name="cost[]"> </div> <input type="submit" name="submit" value="submit"> </form> 

функция контроллера

 function insert_data() { $product = $this->input->post('product'); $cost = $this->input->post('cost'); $insert_array = array(); for ($i=0; $i < count($product); $i++) { $tmp = array(); $tmp['product'] = $product[$i]; $tmp['cost'] = $cost[$i]; $insert_array[] = $tmp; } $this->db->insert_batch('test', $insert_array); //echo $this->db->last_query(); } 
 <input type="text" name="product[]"> <input type="text" name="cost[]"> 

контроллер:

 function insertData() { $product = $this->input->post('product'); $cost = $this->input->post('cost'); foreach($product as $key=>$val){ $data = array( 'product' =>$val, 'cost' =>$cost[$key] ); } $this->db->insert_batch('table_name', $data); } 

Вам нужно создать массив сообщений так:

 <input type="text" name="product[]"> <input type="text" name="cost[]"> 

Затем вы можете просмотреть сообщение и insert_batch или несколько обычных insert ();

Посмотреть

  <input type="text" name="product[]"><input type="text" name="cost[]"> 

контроллер

 $arrayOne = $this->input->post('product'); //array(1,2,4); $arrayTwo = $this->input->post('cost'); //array(22,44,55); $c = array_combine($arrayOne,$arrayTwo ); // output:array(1=>22,2=>44,4=>55) foreach($c as $key=>$val){ $data = array( 'product_id' => $key , 'cost' => $val ); $this->db->insert('TABLENAME', $data); }