IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

PHP & Base de données Discussion :

Export Cvs header [MySQL]


Sujet :

PHP & Base de données

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Inscrit en
    Mai 2004
    Messages
    189
    Détails du profil
    Informations forums :
    Inscription : Mai 2004
    Messages : 189
    Par défaut Export Cvs header
    Bonjour

    1) j'ai une erreur sur le header donc je ne comprends pas
    2) j'aimerez que une fois l'export fini cela lance automatiquement excel avec les données pouvez vous m'aider
    merci

    Warning: Cannot modify header information - headers already sent by (output started at D:\test \test\htdocs\eco\interrogation.php:4)
    in D:\test \test\htdocs\eco\interrogation.php on line 105

    Warning: Cannot modify header information - headers already sent by (output started at D:\test\test\htdocs\eco\interrogation.php:4)
    in D:\test \test\htdocs\eco\interrogation.php on line 106
    t1;t2; ;;113;113; ;;113;113; ;;113;113; ;;113;113; ;;113;113; ;;113;113; ;;113;113; ;;113;113; ;;113;113; ;;113;113; ;;113;113;
    ;;113;113; ;;113;113; ;;113;113; ;;113;113; ;;113;113; ;;113;113; ;;113;113; ;;113;113; ;;113;113;

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
     
     
    $resQuery = pg_query("SELECT * FROM w_exemple.tmp_tmp1 limit 2 ");
     
    header("Content-Type: application/csv-tab-delimited-table");
    header("Content-disposition: filename=table.csv");
     
    if (pg_num_rows($resQuery) != 0) {
      // titre des colonnes
      $fields = pg_num_fields($resQuery);
      $i = 0;
      while ($i < $fields) {
        echo pg_field_name($resQuery, $i).";";
        $i++;
      }
      echo "\n";
     
      // données de la table
      while ($arrSelect = pg_fetch_array($resQuery, pg_ASSOC)) {
       foreach($arrSelect as $elem) {
        echo "$elem;";
       }
       echo "\n";
      }

  2. #2
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Par défaut
    1_ ligne 105 tu tentes une modification des en-têtes alors que ceux-ci sont déjà envoyés.

    2_ c'est le client qui décide ce qu'il fait du dossier, tu ne peux pas agir la dessus.
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  3. #3
    Membre confirmé
    Inscrit en
    Mai 2004
    Messages
    189
    Détails du profil
    Informations forums :
    Inscription : Mai 2004
    Messages : 189
    Par défaut header enlevé
    ok merci
    j'ai enlever les headers
    et mis ce nouveau code mais bon ca affiche en html le
    fichier 'export.csv' n'est pas creer et ne se lance meme pas
    merci

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    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
     
     
     
    $resQuery = pg_query("SELECT * FROM w_exemple.tmp_tmp1 limit 2 ");
     
    /*header("Content-Type: application/csv-tab-delimited-table");
    header("Content-disposition: filename=table.csv");
    */
     
    if (pg_num_rows($resQuery) != 0) {
      // titre des colonnes
      $fields = pg_num_fields($resQuery);
      $i = 0;
      while ($i < $fields) {
        echo pg_field_name($resQuery, $i).";";
        $i++;
      }
      echo "\n";
     
      // données de la table
      while ($arrSelect = pg_fetch_array($resQuery, pg_ASSOC)) {
       foreach($arrSelect as $elem) {
        echo "$elem;";
    $out .= '"'.$elem.'",'; 
       }
       echo "\n";
      }
     
     }
     
     
    // Open file export.csv. 
    $f = fopen ('export.csv','w'); 
     
    // Put all values from $out to export.csv.  
    fputs($f, $out); 
    fclose($f); 
     
    header('Content-type: application/csv'); 
    header('Content-Disposition: attachment; filename="export.csv"'); 
    readfile('export.csv');

  4. #4
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Par défaut
    Ce que tu avais au début était bon, la tout a tout mélangé.
    Tu as juste un problème à la ligne 4 qui termine les en-tête (ligne blanche, echo etc.)
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  5. #5
    Membre confirmé
    Inscrit en
    Mai 2004
    Messages
    189
    Détails du profil
    Informations forums :
    Inscription : Mai 2004
    Messages : 189
    Par défaut fichier seul OK mais ...
    Si je lance ce code test30.php http:\\localhost\test30.php
    il s'affiche les données dans excel
    c'est Nickel

    Si par contre je l'appelle de mon programme
    principal
    il me mets
    Warning: Cannot modify header information - headers already sent by (output started at D:\test generator eco\test\htdocs\eco\interrogation.php:4) in D:\test generator eco\test\htdocs\eco\test30.php on line 20

    Warning: Cannot modify header information - headers already sent by (output started at D:\test generator eco\test\htdocs\eco\interrogation.php:4) in D:\test generator ecodev\test\htdocs\eco\test30.php on line 21

    Warning: Cannot modify header information - headers already sent by (output started at D:\test generator eco\test\htdocs\eco\interrogation.php:4) in D:\test generator eco\test\htdocs\eco\test30.php on line 22

    test30.php
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    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
     
    <?php
    $host  = 'localhost';
    $user  = 'postgres';
    $pass  = 'postgres';
    $db    = 'rcte_eco';
    $table = 'bat';
    $file  = 'export';
     
    $link = pg_pconnect("host=localhost port=5432 dbname=mabase user=postgres password=postgres"); 
     
    $values = pg_query("SELECT * FROM w_exemple.bat limit 100 ");
    while ($rowr = pg_fetch_row($values)) {
    for ($j=0;$j<100;$j++) {
    $csv_output .= $rowr[$j]."; ";
    }
    $csv_output .= "\n";
    }
     
    $filename = $file."_".date("Y-m-d_H-i",time());
    header("Content-type: application/vnd.ms-excel");
    header("Content-disposition: csv" . date("Y-m-d") . ".csv");
    header( "Content-disposition: filename=".$filename.".csv");
    print $csv_output;
    exit;
    ?>
    merci pour votre aide

  6. #6
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Par défaut
    Je repête : ton problème est ligne 4.
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. export CVS problème accent
    Par franfr57 dans le forum Flex
    Réponses: 1
    Dernier message: 01/09/2011, 16h00
  2. [MySQL] Headers already sent sur un export excel alors que normalement non.
    Par jgoetzfr dans le forum PHP & Base de données
    Réponses: 4
    Dernier message: 08/11/2007, 11h23
  3. [Tableaux] header pour export vers Excel sous IE7
    Par amy0o0 dans le forum Langage
    Réponses: 1
    Dernier message: 18/10/2007, 15h42
  4. Réponses: 5
    Dernier message: 19/08/2007, 19h02
  5. exporter cvs sur fermeture access
    Par laurent2 dans le forum Access
    Réponses: 2
    Dernier message: 19/12/2006, 09h29

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo