<?php
require_once '../class/Excel.php';
use agoussec\class\Export;
$export = new Export();
/********************************************************************************************************|
* WAY 1 FOR CREATING DATABASE CONNECTIONS |
*_______________________________________________________________________________________________________|
*
*
* $exportObject = new Export('localhost', 'dbuser', 'password', 'database');
*
*
* EXPLAIN - PASS DATABASE CREDENTIALSE AS PARAMETER WHEN CREATING OBJECT OF CLASS
*
*/
/********************************************************************************************************|
* WAY 2 FOR CREATING DATABASE CONNECTIONS |
*_______________________________________________________________________________________________________|
*
*
* try {
* $Conn = new PDO('mysql:host=localhost;dbname=dbname', 'dbuser', "dbpassword");
* $Conn->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
* } catch(PDOException $e) {
* return $e->getMessage();
* }
*
*
* $export->setConnection($Conn);
*
*
* EXPLAIN - CREATE PDO CONNECTION AND PASS PDO CONNECTION OBJECT TO setConnection($CONNECTION) LIKE ABOVE
*
*/
try {
$Conn = new PDO('mysql:host=localhost;dbname=dbname', 'dbuser', "dbpassword");
$Conn->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
} catch(PDOException $e) {
return $e->getMessage();
}
$export->setConnection($Conn);
if (isset($_REQUEST["export"])) {
$sql = "SELECT
table2.column1 as `Column 1 `,
table3.column2 as `Column 2`,
table1.column3 as `Column 3`,
table1.column4 as `Column 4`,
table1.column5 as `Column 5`,
table1.column6 as `Column 6`,
table1.column7 as `Column 7`,
table1.column8 as `Column 8`,
table1.column9 as `Column 9`
FROM `table1`
left JOIN table2 ON table2.id = table1.table2id
left JOIN table3 ON table3.id = table1.table3id
WHERE table1.status = 1";
$export->setQuery($sql);
/********************************************************************************************************|
* EXPLANATION - DATA [OPTIONAL] |
*________________________________________________________________________________________________________|
*
* $export->setData($ARRAY); // OPTIONAL
*
* DEF - ROWS OF DATABASE TABLE DATA IN ARRAY
*
* EXPLAIN - YOU CAN DIRECTLY PASS DATABASE TABLE ROWS AND THEN NO NEED TO CREATE DATABASE CONNECTION AND PASSING MYSQL QUERIES
*
* PARAM - $ROWARRA
*
* EXMAPLE -
* $export->setData('dsdada'); // ERROR - Data should be Array!
* $export->setData(); // ERROR - Data can not be empty!
*/
/********************************************************************************************************|
* EXPLANATION - FILENAME [OPTIONAL] |
*________________________________________________________________________________________________________|
*
* $export->setFilename('setFilename'); // OPTIONAL
*
* DEF - FILENAME OF GENERATED EXCEL FILE (CURRENT TIMESTAMP WILL BE USER WHEN NOT INITIALISING)
*
* EXPLAIN - THIS METHOD WILL ACCEPT STRING DATA TYPE AS PARAMETER
*
* PARAM - 'FILENAME'
*
*/
$export->setFilename('report-excel');
/*******************************************************************************************************|
* EXPLANATION - HEADERROW [OPTIONAL] |
*_______________________________________________________________________________________________________|
*
* $export->setHeaderRow(true); // OPTIONAL
*
* DEF - HEADERROW IS COLUMNS NAME OF EXCEL SHEET ORIGINATED FROM DATABASE TABLE COLUMN NAME
*
* EXPLAIN - THIS METHOD WILL ACCEPT BOOLEAN DATA TYPE AS PARAMETER
*
* PARAM - [TRUE, FALSE]
*
* TRUE - FOR ADD DATABASE TABLE COLUMN NAME IN EXCEL SHEET (YOU CAN REDEFINE COULUMN NAME USING ALIASE NAME SELECT SQL QUERY )
* FALSE - FOR NOT USING COULUMN NAME IN EXCEL SHEET
*
*/
$export->setHeaderRow(true);
/*******************************************************************************************************|
* EXPLANATION - TIMESTAMP [OPTIONAL] |
*_______________________________________________________________________________________________________|
*
* $export->setTimestamp(true); // OPTIONAL
*
* DEF - CURRENT TIMESTAMP WILL BE ADDED IN EXCEL FILENAME
*
* EXPLAIN - THIS METHOD WILL ACCEPT BOOLEAN DATA TYPE AS PARAMETER
*
* PARAM - [TRUE, FALSE]
*
* TRUE - FOR USING TIMESTAMP IN FILENAME // report-excel-1616836723.xls
* FALSE - FOR NOT USING TIMESTAMP IN FILENAME // report-excel.xls
*
*/
$export->setTimestamp(true);
$export->getFile();
}
|