[gepi-users] exports annuels osd

Stephane Boireau (Animateur TICE Bernay/Pont-Audemer) stephane.boireau at ac-rouen.fr
Mer 18 Juil 14:29:45 CEST 2007


Bonjour,

Le mardi 17 juillet 2007 09:43, garroux a écrit :
> bonjour
> et merci de votre réponse,
>
> en CSV ce serait parfait aussi… et même plus pratique
> je souhaite développer un petit logiciel de statistiques et les
> données en CSV sont parfaitement adaptées.
> Je peux exporter à partir des tables SQL mais je perds les moyennes
> qui sont calculées dynamiquement, je suppose,
> et donc n'apparaissent pas dans un champ d'une table mysql ( ou alors
> je ne l'ai pas trouvé).
>
> à propos de votre rappel :
> > d'un CSV comme c'est fait
> > ailleurs déjà dans Gepi.
>
> pourriez-vous m'indiquer où cette procédure est appliquée ?

/saisie/import_class_csv.php
/cahier_notes/export_cahier_notes.php

Le principe est assez simple.
Il faut éviter tout affichage... donc pas question d'écrire un entête HTML,... 
dans la page PHP qui génère le CSV.

// On annonce le type du fichier poiur que le Navigateur sache quoi en faire:
$now = gmdate('D, d M Y H:i:s') . ' GMT';
header('Content-Type: text/x-csv');
header('Expires: ' . $now);
// lem9 & loic1: IE need specific headers
if (ereg('MSIE', $_SERVER['HTTP_USER_AGENT'])) {
    header('Content-Disposition: inline; filename="' . $nom_fic . '"');
    header('Cache-Control: must-revalidate, post-check=0, pre-check=0');
    header('Pragma: public');
} else {
    header('Content-Disposition: attachment; filename="' . $nom_fic . '"');
    header('Pragma: no-cache');
}

//On initialise le contenu du fichier:
$fd = '';

// On le remplit en ajoutant des lignes:
$fd.="IDENTIFIANT;NOTE;APPRECIATION\n";
$fd.="TOTO;12.0;Blabla\n";
...
// Et enfin on renvoye le tout vers apache qui va transmettre au client:
// votre navigateur:
echo $fd;

Et c'est tout.

Sinon, on peut génrer le fichier dans un dossier sans gérer le header comme 
ci-dessus et proposer un lien de téléchargement du fichier.
Voir fopen(), fwrite(), fclose() et unlink() pour faire le ménage, mais cela 
implique d'avoir un dossier dans lequel on peut écrire,...

Cordialement
-- 
Stephane Boireau
Animateur TICE Bernay/Pont-Audemer



Plus d'informations sur la liste de diffusion gepi-users