$value) { $data[$key] = $key; } return $data; } if($_GET['o']=='excel') { $objPHPExcel = new PHPExcel(); // Set properties $objPHPExcel->getProperties()->setCreator("Caribana festival"); $objPHPExcel->getProperties()->setLastModifiedBy("Caribana festival"); $objPHPExcel->getProperties()->setTitle("Accréditations 2017"); $objPHPExcel->getProperties()->setSubject("Accréditations 2017"); $objPHPExcel->getProperties()->setDescription("Accréditations 2017."); $objPHPExcel->setActiveSheetIndex(0); $query = "select * from submissions"; $mysqli = new mysqli("localhost", "caribanaaccred", "welcome99", "caribanaaccred"); if ($mysqli->connect_errno) { echo "Failed to connect to MySQL: (" . $mysqli->connect_errno . ") " . $mysqli->connect_error; } if ($result = $mysqli->query($query)) { $line = 1; // First merge keys of all serialized values so we are sure to have all columns while ($row = $result->fetch_assoc()) { $ser = $row['formdata']; $seru = unserialize($ser); $or = array_merge($row,$seru); if($line==1) { $master_array = $or; } $master_array = merge_two_arrays($master_array,$or); $line++; } // Now remove unwanted columns foreach($master_array as $key => $val ) { if(!($key=='UID' || $key=='modifieduid' || $key=='btnsubmit' || $key=='btnfinalise' || $key=='formdata' || $key=='name_form')) { $header[$key] = $key; } } } if ($result = $mysqli->query($query)) { $line = 1; /* fetch associative array */ while ($row = $result->fetch_assoc()) { $ser = $row['formdata']; $seru = unserialize($ser); $or = array_merge($row,$seru); // Build full row unset($fr); foreach($header as $key => $val) { if($key=='status') { $fr[$key] = $or[$key]==0 ? 'Finalisé' : 'Ouvert'; } else { $fr[$key] = $or[$key]; } } if($line==1) { $keys = array_keys ( $header ); $objPHPExcel->getActiveSheet() ->fromArray( $keys, // The data to set NULL, // Array values with this value will not be set 'A1' // Top left coordinate of the worksheet range where // we want to set these values (default is A1) ); $line++; } $objPHPExcel->getActiveSheet() ->fromArray( $fr, // The data to set NULL, // Array values with this value will not be set 'A'.$line // Top left coordinate of the worksheet range where // we want to set these values (default is A1) ); $line++; } } $objPHPExcel->getActiveSheet()->getStyle('1')->getFont()->setBold(true); $objPHPExcel->getActiveSheet()->setTitle('Toutes accréditations'); // ------ // Go again this time sorted by name so we can create a worksheet per requestor $query = "SELECT * from submissions ORDER BY name"; if ($result = $mysqli->query($query)) { $line = 1; /* fetch associative array */ while ($row = $result->fetch_assoc()) { $ser = $row['formdata']; $seru = unserialize($ser); $or = array_merge($row,$seru); // Build full row unset($fr); foreach($header as $key => $val) { if($key=='status') { $fr[$key] = $or[$key]==0 ? 'Finalisé' : 'Ouvert'; } else { $fr[$key] = $or[$key]; } } if($prevName!=$fr['name']) { $keys = array_keys ( $header ); // Create new workshet $myWorkSheet = new PHPExcel_Worksheet($objPHPExcel, $fr['name']); $objPHPExcel->addSheet($myWorkSheet); $myWorkSheet ->fromArray( $keys, // The data to set NULL, // Array values with this value will not be set 'A1' // Top left coordinate of the worksheet range where // we want to set these values (default is A1) ); $myWorkSheet->getStyle('1')->getFont()->setBold(true); $line=2; $prevName = $fr['name']; } $myWorkSheet ->fromArray( $fr, // The data to set NULL, // Array values with this value will not be set 'A'.$line // Top left coordinate of the worksheet range where // we want to set these values (default is A1) ); $line++; } } $mysqli->close(); // ------- $objWriter = new PHPExcel_Writer_Excel2007($objPHPExcel); $filename = 'accred_list.xlsx'; $objWriter->save($filename); header('Content-Disposition: attachment; filename="' . $filename . '"'); header('Content-Type: application/vnd.openxmlformats-officedocument.spreadsheetml.sheet; charset=utf-8'); header('Content-Length: ' . filesize($filename)); header('Content-Transfer-Encoding: binary'); header('Cache-Control: must-revalidate'); header('Pragma: public'); $objWriter->save('php://output'); readfile($filename); } ?> Carbana Acréditations connect_errno) { echo "Failed to connect to MySQL: (" . $mysqli->connect_errno . ") " . $mysqli->connect_error; } ?> >
Bienvenue

Commande

NoStatSalutationPrenomNomStatutCommandeAperçuCréationMise à jourCommandé par

Déconnexion