1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80
| <?php
include ('../../include.php');
// Vérification de l'existance d'une session
VerifSession();
// Récupération des paramètres
$module = $_GET['module'];
$req = '';
// Vérification des droits de l'utilisateur
VerifDroit($module);
header("Content-Type: application/csv-tab-delimited-table");
header("Content-disposition: filename=export.csv");
// Connexion à la base de donnée
$dbh = ConnectDB();
// Récupération des paramètres selon l'export
switch($module){
case 'ABONNEMENT':
$dept = addquote($_GET['dept']);
$fai = addquote($_GET['fai']);
$rechAbo = addquote($_GET['rechAbo']);
$rechCommune = addquote($_GET['rechCommune']);
$rechSiteClient = addquote($_GET['rechSiteClient']);
$rechCLS = addquote($_GET['rechCLS']);
$rechRefExterne = addquote($_GET['rechRefExterne']);
$rechPOP = addquote($_GET['rechPOP']);
$sort = addquote($_GET['sort']);
$dir = addquote($_GET['dir']);
$req = "EXEC sp_Extranet_GetListeAbonnements '$dept', '$fai', '$rechAbo', '$rechCommune', '$rechSiteClient', '$rechCLS', '$rechRefExterne', '$rechPOP', NULL, 10000, '$sort', '$dir', 1";
// Execution de la requête
$sth = $dbh->query($req);
// On crée le fichier temp et on l'ouvre en écriture
$tmpFile = tempnam('/tmp', 'extractTESTCSV');
$handle = fopen($tmpFile, "w");
// On récupère chaque ligne du résultat
$colonne = 0;
while($ligne = $sth->fetch(PDO::FETCH_ASSOC)){
// On écrit la ligne des colonnes
if($colonne == 0){
foreach($ligne as $col => $val){
// On écrit une ligne de resultat
fwrite($handle, "$col;");
}
fwrite($handle, "\n");
$colonne = 1;
}
// On écrit une ligne de resultat
foreach($ligne as $col => $val){
$val = FormatExport($val);
fwrite($handle, "$val;");
}
fwrite($handle, "\n");
}
// On transfère le contenu du fichier dans un tableau
$tabFile = file($handle);
$tabFile = file($tmpFile);
// On parcours le tableau
$i=0;
while($i < count($tabFile)){
echo $tabFile[$i];
$i++;
}
// On ferme et détruit le fichier
fclose($handle);
unlink($tmpFile);
break;
}
?> |
Partager