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

Langage PHP Discussion :

Export fichier en csv à cause de ma colonne ID


Sujet :

Langage PHP

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Février 2011
    Messages
    24
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2011
    Messages : 24
    Points : 18
    Points
    18
    Par défaut Export fichier en csv à cause de ma colonne ID
    Bonjour

    Je voudrais lors de mon export (c'est en auto tout les heures) en csv renommer la colonne ID car sinon le fichier csv s'ouvre en me disant que il est au format SYLK

    Je joins mon code

    Merci Beaucoup



    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
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    <?php 
     // Query Database
     require_once 'params.php';
     $sql = "SELECT * FROM administratif";
     
     try
     
     {
     	//set_time_limit(300);
     	$connexion = mysql_connect(SERVER, LOGIN, PASS);
     	mysql_select_db(DATABASE);
     	$req = mysql_query($sql);
     }
     catch (Exception $e)
     {
     
     }
     
     
         $excel = "";
        $excel .="ID \t IDLETL \t MAJ \t MAJ_USER  \t MAJ_WEB \t NOM \t NOMJF \t PRENOM \t TELEPHONE \t TELFIXE \t";
        $excel .= " MAIL \t Situation \t ETAT L&L \t PIECE_MANQUE \t NATIONALITE \t FIN TITRE SEJ \t DROIT AU TRAVAIL \t ";
        $excel .= " DATE DDTE \t ORIGINE \t INSCRIT LE \t ANNEE DE NAISSANCE \t SEXE \t QUALITE \t VP\/PERMIS \t DPT \t ADRESSE \t COMPLEMENT \t ";
        $excel .= " CP \t COMMUNE \t URGENT_CONTACT \t URGENT_TEL \t COMMENT \n";
     
                    while($data = mysql_fetch_array($req))
                    {
     
     
    			$excel .= $data["ID"]."\t".$data["IDLETL"]."\t".$data["MAJ"]."\t".$data["MAJ_USER"]."\t";
                    	$excel .= $data["MAJ_WEB"]."\t".$data["NOM"]."\t".$data["NOMJF"]."\t";
                    	$excel .= $data["PRENOM"]."\t".$data["TELEPHONE"]."\t".$data["TELFIXE"]."\t";
                    	$excel .= $data["MAIL"]."\t".$data["Situation"]."\t".$data["ETAT L&L"]."\t";
                    	$excel .= $data["PIECE_MANQUE"]."\t".$data["NATIONALITE"]."\t".$data["FIN TITRE SEJ"]."\t";
                    	$excel .= $data["DROIT AU TRAVAIL"]."\t".$data["DATE DDTE"]."\t".$data["ORIGINE"]."\t";
                    	$excel .= $data["INSCRIT LE"]."\t".$data["ANNEE DE NAISSANCE"]."\t".$data["SEXE"]."\t";
                    	$excel .= $data["QUALITE"]."\t".$data["VP/PERMIS"]."\t".$data["DPT"]."\t";
                    	$excel .= $data["ADRESSE"]."\t".$data["COMPLEMENT"]."\t".$data["CP"]."\t";
                    	$excel .= $data["COMMUNE"]."\t".$data["URGENT_CONTACT"]."\t".$data["URGENT_TEL"]."\t";
                    	$excel .= $data["COMMENT"]." \n";
                    }
                    mysql_close();
                   // print $excel;
     
     
     
                   $leFichier = fopen("BaseAdministratif.xls", "w+ [b]");
                    fwrite($leFichier,$excel);
                    fclose($leFichier);
                    exit;
     ?>

  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
    Points : 44 155
    Points
    44 155
    Par défaut
    ID est écrit en toutes lettres dans ton code, il suffit de changer :

  3. #3
    Modératrice
    Avatar de Celira
    Femme Profil pro
    Développeuse PHP/Java
    Inscrit en
    Avril 2007
    Messages
    8 633
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 39
    Localisation : France

    Informations professionnelles :
    Activité : Développeuse PHP/Java
    Secteur : Industrie

    Informations forums :
    Inscription : Avril 2007
    Messages : 8 633
    Points : 16 372
    Points
    16 372
    Par défaut
    Pas mieux

    Trois remarques sur une éventuelle amélioration du script :
    • Ton fichier est créé avec une extension .xls mais construit comme un fichier CSV. Pour être cohérent, le fichier devrait porter une extension .csv
    • Pour générer un fichier CSV, tu peux utiliser la fonction fputcsv, ce qui t'éviterait d'avoir à faire les concaténations toi-même et gérerait les éventuels échappements de texte. (là, si jamais il y a une tabulation dans ton champ COMMENT par exemple, ça va mettre le bazar dans ton export)
    • Tu utilises l'API mysql (les fonction mysql_xxxx) pour interroger ta base. Cette extension est obsolète depuis PHP 5.5 et supprimée en PHP7. Ce qui veut dire que si ton serveur migre vers PHP7, ton script cessera de fonctionner. Envisage de convertir pour mysqli ou PDO.

Discussions similaires

  1. Problème export fichier jar runnable avec images
    Par copinmux dans le forum Général Java
    Réponses: 1
    Dernier message: 18/09/2015, 08h52
  2. exportation fichier en csv
    Par fleursdesiles dans le forum Modélisation
    Réponses: 1
    Dernier message: 24/04/2009, 11h28
  3. export fichier csv
    Par moncanard dans le forum Documents
    Réponses: 14
    Dernier message: 18/05/2006, 13h37
  4. Problème exportation fichier jar + mysql
    Par oliwan dans le forum Eclipse Java
    Réponses: 4
    Dernier message: 07/05/2006, 20h58
  5. Problème export Fichier RTF
    Par Jeannot45 dans le forum Access
    Réponses: 4
    Dernier message: 05/01/2006, 14h52

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