Case : You are given 2 dates ($dateFrom , $dateTo) and you have to find data within given range and export this data in csv format which can encode utf-8 character set.
We can divide this whole process in 2 parts.
First( Get Data)
$first_date = date('Y-m-d 00:00:00', strtotime($dateFrom)); $last_date = date('Y-m-d 23:59:59', strtotime($dateTo));
Now get data from database:
$admission_details_all=$this->getCompletedReportResult($first_date,$last_date);
Second(Export To Csv)
First we have to define , which field we want to show in csv file.
So declare fields in an array as follow :
$arrColumns = array('name', 'phone_no', 'branch_name', 'course_name');
and remember this fields represents the field name you'll query from database.
The define first row of the csv file:
$arrFirstRow = array('Name', 'Phone No', 'Branch', 'Course');
$options = array( 'columns' => $arrColumns, 'firstRow' => $arrFirstRow,);
now create a function convertToCSV($admission_details_all, $options, $dateFrom ,$reportType)
$admission_details_all is the data we get from database
$options is an array which has $arrColumns and $arrFirstRow
$dateFrom is a date time required to track when you exported your file $reportType is required to name the exported file
now we have to call convertToCSV function and return it.
return $csvconversionrepo->convertToCSV($admission_details_all, $options, $dateFrom ,$reportType);
Here is the screen shot of convertToCSV funtion
0 comments:
Post a Comment