csv upload by php
1st step:
<li role="presentation" class="inactive-nav-pill"> <a onclick="showAjaxModal('<?php echo site_url('donor/popup/csvform');?>');"
> <i class="fa fa-plus" aria-hidden="true"></i>CSV File </a>
</li>
2nd step :
<div class="row">
<div class="col-md-12">
<div class="panel panel-primary" data-collapsed="0">
<div class="panel-heading">
<div class="panel-title">
<i class="entypo-plus-circled"></i>
CSV Insert
</div>
</div>
<div class="panel-body">
<?php echo form_open(site_url('donor/donarExcelDataInsert/') , array('class' => 'form form-horizontal form-groups-bordered validate', 'enctype' => 'multipart/form-data'));?>
<div class="col-md-12">
<div class="form-group">
<div class="col-md-12">
<label class="control-label">Browse File</label>
<input type="file" name="userfile" class="form-control">
</div>
</div>
<div class="form-group">
<div class="col-md-6 " style="margin-top:10px;">
<button type="submit" name="uploadfile" class="btn btn-success">Import</button>
</div>
<div class="col-md-6 pull-right" style="margin-top:10px;">
<a href="<?php echo base_url()?>src/assets/excel/donarSample.csv"
class="btn btn-primary">
<i class="glyphicon glyphicon-glyphicon-download-alt"></i>
Sample Download</a>
</div>
</div>
</div>
<?php echo form_close();?>
</div>
</div>
</div>
</div>
<script type="text/javascript">
$('.input-group.date').datepicker({
autoclose: true,
todayHighlight: true,
format: 'dd/mm/yyyy',
});
</script>
3rd step :
function donarExcelDataInsert(){
if(!empty($_FILES['userfile']['name'])){
$newFileName = $_FILES['userfile']['name'];
$fileExt= substr($newFileName, strrpos($newFileName,'.')+1) ;
if($fileExt == 'csv' or $fileExt == 'CSV'){
$fh = fopen($_FILES['userfile']['tmp_name'], 'r+');
$lines = array();
while(( $row = fgetcsv($fh, 819234)) !== false)
{
$lines[] = $row;
}
$splicearray = array_splice($lines, 0, 1);
// echo '<pre>';
// print_r($splicearray);
// die;
if(!empty($lines))
{
foreach($lines as $key=> $value)
{
$dob=strtotime(str_replace('/', '-', $value[21])) + 21600;
$lbd=strtotime(str_replace('/', '-', $value[22])) + 21600;
if(!empty($value[8]))
{
$data['name'] = $value[0];
$data['password'] = sha1($value[1]);
$data['doner_image'] =$value[2];
$data['blood_group'] = $value[3];
$data['donation_count'] = $value[4];
$data['type'] = $value[5];
$data['program'] = $value[6];
$data['institute'] = $value[7];
$data['reg_code'] = $value[8];
$data['category'] = $value[9];
$data['national_id'] = $value[10];
$data['title'] = $value[11];
$data['gender'] =$value[12];
$data['age'] =$value[13];
$data['weight'] = $value[14];
$data['marital_status'] = $value[15];
$data['father_name'] = $value[16];
$data['mother_name'] = $value[17];
$data['spouse_name'] = $value[18];
$data['occupation'] = $value[19];
$data['religion'] = $value[20];
$data['dob'] = $dob;
$data['ldd'] =$lbd;
$data['address'] = $value[23];
$data['district'] =$value[24];
$data['thana'] = $value[25];
$data['phone_no'] = $value[26];
$data['email'] =$value[27];
$data['status'] = $value[28];
$data['added_at'] =$value[29];
$data['uploaded_by'] =$value[30];
/* product update and insert */
$queryDonar = $this->db->query("SELECT * FROM donor where reg_code = '{$value[8]}'");
$donardata = $queryDonar->row_array();
// echo '<pre>';
// print_r($donardata);
// die;
if(!empty($donardata)){
$this->db->where('id', $donardata['id']);
$this->db->update('donor', $data);
}else{
$this->db->insert('donor', $data);
}
}
}
}
}
$sdataa['success_msg'] = '<div class="alert alert-success fade in" style="margin-top:18px;">
<a href="#" class="close" data-dismiss="alert" aria-label="close" title="close">×</a>
<strong>Success </strong> CSV file Import </div>';
$this->session->set_userdata($sdataa);
redirect(base_url('donor'), 'refresh');
}else{
$sdataa['success_msg'] = '<div class="alert alert-danger fade in" style="margin-top:18px;">
<a href="#" class="close" data-dismiss="alert" aria-label="close" title="close">×</a>
<strong>Warning </strong> Please upload CSV file only </div>';
$this->session->set_userdata($sdataa);
redirect(base_url('donor'), 'refresh');
}
}
Comments
Post a Comment