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 :

Exporter en fichier txt avec taille fix


Sujet :

PHP & Base de données

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Homme Profil pro
    Inscrit en
    Juillet 2008
    Messages
    58
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Juillet 2008
    Messages : 58
    Par défaut Exporter en fichier txt avec taille fix
    Bonjour,

    j'aurais besoin de vos lumières pour m'aider à finir un petit dev sur le quel je suis en train de bosser, je vous explique :
    je dois générer un fichier txt (plat) de ma base de donnée de manière automatique, ce que je veus dire pas là c'est que je ne propose pas le download de celui-ci, il seras directement généré dans un répertoire réseau prévus pour ça.

    pour l'accès à ma base et la génération du fichier, pas de gros problème voici le code :
    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
    $fh = fopen ('data.txt', 'w');
    $tab ='';
    $tab2 = "\0";
     
     
    while ($resultat = $req->fetch(PDO::FETCH_ASSOC)){
     
    var_dump ($resultat);
     
    $last = $resultat['montant'];
    foreach ($resultat as $key => $value){
    	print_r ($key);
     
     
    	fwrite ($fh, $key);
    	if ($key != $last)
    	fwrite($fh,$tab2);
      }
    fwrite($fh,"\r\n");
     
    }
    fclose ($fh);
    En revanche j'aimerais pouvoir avoir une taille fix sur chaques colonnes, en gros soit je récupére la taille exacte des champs (colonne) de ma db et pas seulement leurs résultats soit (col = length (6) ,col = length (9), etc) ou directement en php donner une taille fix aux colonnes , pourriez-vous m'orienter pour avoir ce résultat.

  2. #2
    Membre très actif
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mai 2007
    Messages
    643
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Mai 2007
    Messages : 643
    Par défaut
    Je penses que tu peux soit :
    - créer une fonction qui va calculer dynamiquement (par rapport à un texte défini) le nombre d'espace blanc à insérer pour correspondre a une longueur toujours fixe
    - récupérer la définition des champs de ta base et créer d'office un espace "vide" de taille voulu sur lequel tu ecrasera après quoi certains caractère espace par ton texte recupéré

  3. #3
    Membre confirmé
    Homme Profil pro
    Inscrit en
    Juillet 2008
    Messages
    58
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Juillet 2008
    Messages : 58
    Par défaut
    merci de ta réponse,

    En ce qui concerne l'espace vide c'est déjà réglé $tab2 = "\0";

    Sais tu comment récupérer la définition des champs de la db ?

  4. #4
    Membre très actif
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mai 2007
    Messages
    643
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Mai 2007
    Messages : 643
    Par défaut
    Tout dépend de ta BDD et de ton ORM.

    Il faudrait que tu puisse réussir à recuperer le resultat d'une fonction de BDD du style MySQL comme DESC.
    Après ce n'est qu'une question de traitement.

    Si tu passes par un ORM, essai de balancer a ta BDD une requête "en dur".

  5. #5
    Membre confirmé
    Homme Profil pro
    Inscrit en
    Juillet 2008
    Messages
    58
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Juillet 2008
    Messages : 58
    Par défaut
    Re,

    Je vois ce que tu veux dire, mais je n'utilise pas d'orm, cela n'importe plus j'ai trouvé une autre solution qui consiste à changer le model d'import du logiciel qui vas intégrer ce fichier.

    merci tout de même

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

Discussions similaires

  1. [Toutes versions] Export csv ou txt avec largeur fixe et séparateur point virgule
    Par shizzle971 dans le forum Excel
    Réponses: 1
    Dernier message: 07/05/2014, 20h56
  2. Export fichier txt en longueur fixe
    Par manuaccess10 dans le forum VBA Access
    Réponses: 3
    Dernier message: 29/12/2009, 10h07
  3. ETL exporter un fichier txt avec en tête
    Par soft_bi dans le forum SSIS
    Réponses: 2
    Dernier message: 29/06/2009, 19h37
  4. Export vers un fichier txt avec transformation
    Par jlgodart dans le forum Développement
    Réponses: 2
    Dernier message: 09/02/2009, 21h54
  5. Réponses: 41
    Dernier message: 02/05/2006, 14h17

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