2016-06-13 3 views
0

У меня есть форму. И есть кнопка добавления, чтобы добавить другие формы в соответствии с требованиями. Рабочая демонстрация находится в JSFiddle. https://jsfiddle.net/szn0007/eanhpLkg/данные массива хранилища, полученные из форм в базу данных

Мой PHP код:

$data['client_name'] = $_POST['client_name']; 
$data['address'] = $_POST['address']; 
$data['fiber_length'] = $_POST['fiber_length']; 
$data['phone_number'] = $_POST['phone_number']; 
$data['package'] = $_POST['package']; 
$data['result'] = $_POST['result']; 
$data['remarks'] = $_POST['remarks']; 

foreach($data['client_name'] as $c) 
{ 
    $sql = "INSERT INTO ct_staff_activity_ftth(client_name) VALUE('$c') "; 
    $this->db->query($sql); 
} 

Как я могу вставить все dataas вошли сразу.

ответ

0

Используйте следующие действия для создания заявления и чем сделать однократный:

$string = ""; 
foreach($data['client_name'] as $key => $c) 
{ 
    $string .= "(" . $c . "," . $data['address'][$key] . "," . $data['fiber_length'][$key] . "," . $data['phone_number'][$key] . "," . $data['package'][$key] . "," . $data['result'][$key] . "," . $data['remarks'][$key] . "),"; 
} 
$sql = "INSERT INTO ct_staff_activity_ftth(client_name, address, fiber_length, phone_number, package, result, remarks) VALUES " . rtrim($string, ","); 
$this->db->query($sql); 
+0

@gerrard Я хочу хранить все значения формы. i.e имя_пользователя, адрес, длина волокна и т. д. –

+0

Код корректируется – Gerard

0

первого создание новой модели называют Generic_model.php Затем вставьте этот код класса Generic_model расширяет CI_Model {

public function insertData($tablename, $data_arr=array()) 
{ 


    $ret = 0; 
    try { 
    //insert data 
     $this->db->insert($tablename, $data_arr); 
     //create return as last inserted record id 
     $ret = $this->db->insert_id() + 0; 
     //return $ret; 
     return true; 
    } catch (Exception $err) { 
     //return error 
     return $err->getMessage(); 
    } 


} 

} Наконец, войдите в ваш контроллер В рамках соответствующей функции наберите

// Инициализация модели

$ this-> load-> model ('Generic_model', '', TRUE);

$ recid = $ this-> load-> model-> Generic_model-> insertData ('table_name', $ data_array);

если вы эхо $ rec_id вы можете увидеть последние вставки Индентификационного

что только

1

использовать этот

for($i=0; $i<count($_POST['client_name']); $i++) 
{ 
     $client_name = $_POST['client_name']; 
     $address  = $_POST['address']; 
     $fiber_length = $_POST['fiber_length']; 
     $phone_number = $_POST['phone_number']; 
     $package  = $_POST['package']; 
     $result   = $_POST['result']; 
     $remarks  = $_POST['remarks']; 
     $data = array(
        'cleint_name'  => $client_name, 
        'address'   => $address, 
        'fiber_length'  => $fiber_length, 
        'phone_number'  => $phone_number, 
        'package'   => $package, 
        'result'   => $result, 
        'remarks'   => $remarks, 
       ); 

     $q = $this->user_model->add_record($data); 
} 
Смежные вопросы