I have an application where I want a user to be able to upload a list of contacts via CSV and save them to the database. I've tried to setup brad stinsons CSV codeigniter library but been having trouble so far... When I click on upload, the CSV just disappears and goes nowhere, without any errors..
If anyone could inform me on whether I'm on the right track or just completely off I'd really appreciate it.
Here is my Csv_import.php
Controller
public function load_data() {
$result = $this->csv_import_model->select();
$output = 'contacttable';
$count = 0;
if($result->num_rows() > 0)
{
foreach ($result->result() as $row)
{
$count = $count + 1;
$output .= '
<tr>
<td>'.$count.'</td>
<td>'.$row->fullname.'</td>
<td>'.$row->email'.</td>
<td>'.$row->country'.</td>
<td>'.$row->gender'.</td>
</tr>';
}
}
else {
$output .='<p>Data not available</p>';
}
$output .= '</table></div>';
echo $output;
}
public function import()
{
$file_data = $this->csvimport->get_array($_FILES["csv_file"]
["tmp_name"]);
foreach($file_data as $row)
{
$data[] = array (
'fullname' => $row["fullname"],
'email' => $row["email"],
'country' =>$row["country"],
'gender' =>$row["gender"]
);
}
$this->csv_import_model->insert($data);
}
my Csv_Import_model.php
model
class Csv_import_model extends CI_model
{
function select()
{
$this->db->order_by('idcontacts', 'DESC');
$query = $this->db->get('contacts');
return $query;
}
function insert($data)
{
$this->db->insert_batch('contacts', $data);
}
}
My View on dashboard
<form method="post" id="import_csv" enctype="multipart/form-data">
<div class="form-group">
<label>Select CSV File</label>
<input type="file" name="csv_file" id="csv_file" required accept=".csv" />
</div>
<button type="submit" name="import_csv" class="btn btn-info"
id="import_csv_btn">Import CSV</button>
</form>
<br>
<div id="imported_csv_data"></div>