Reputation: 1040
I have a form. And there is add button to add more forms according to requirement. The Working demo is in JSFiddle. https://jsfiddle.net/szn0007/eanhpLkg/
My PHP code is :
$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);
}
How can i insert all the dataas entered at once.
Upvotes: 0
Views: 43
Reputation: 70
use this
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);
}
Upvotes: 1
Reputation: 15786
Use the following to build the statement and than do a single write:
$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);
Upvotes: 0
Reputation: 57
1st create a new model call Generic_model.php Then paste this code class Generic_model extends 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();
}
}
} Finally go into your controller Within the relevant function call it as
//initialize model
$this->load->model('Generic_model', '', TRUE);
$recid=$this->load->model->Generic_model->insertData(‘table_name’,$data_array);
if you echo $rec_id you can see the last insert record id
that only
Upvotes: 0