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 :

[Conception] Exporter en TXT un champs de la table


Sujet :

PHP & Base de données

  1. #1
    Membre régulier
    Inscrit en
    Avril 2004
    Messages
    236
    Détails du profil
    Informations forums :
    Inscription : Avril 2004
    Messages : 236
    Points : 113
    Points
    113
    Par défaut [Conception] Exporter en TXT un champs de la table
    Salut à tous,

    je suis en train de développer un site qui permet, entre autre, de présenter des produits.
    La description de chaque produit est contenue dans un champ desc_prod de la table produit de la base de données.
    Lors de la présentation de ce produit sur le site web, la description est affichée sur la page HTML du produit avec une photo et des prix.

    Si les clients veulent garder le descriptif du produit, pour le moment ils sont obligés de faire un copier/coller de la description donnée sur la page HTML vers leur éditeur ou traitement de texte.

    Est-il possible d'exporter mon champ desc_prod vers un fichier texte qui soit téléchargeable par un client ?
    Si oui, comment ?

    Merci

  2. #2
    Membre régulier
    Profil pro
    Inscrit en
    Octobre 2003
    Messages
    102
    Détails du profil
    Informations personnelles :
    Âge : 51
    Localisation : France

    Informations forums :
    Inscription : Octobre 2003
    Messages : 102
    Points : 120
    Points
    120
    Par défaut
    Salut,

    même mieux que çà, tu peux mettre en page ton doc et en faire un .doc ou Excel rien qu'avec du source html !

    pour mieux comprendre, teste ce script :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    <?php header("Content-Type: application/vnd.ms-excel"); 
    print "<table border=\"1\"><tr><td><b>champ1</b></td><td><b>champ2</b></td></tr>"; 
    print "<tr><td>valeur1 </td><td bgcolor=\"#137799\">valeur2 bakground bleu</td></tr></table>"; ?>
    donc l'idée c'est de mettre a profit ta mise en page html de la présentation du produit, pour faire un document.
    Soit transformer document courant en document bureautique comme si dessus, soit créer un fichier avec fopen et fputs par exemple avec un lien pour le télécharger.
    l'idée c'est source en html + extention .doc; .xls = document du pack office.

    ca marche pour les extention open office.
    il n'y a pas de sotte existence

  3. #3
    Membre régulier
    Inscrit en
    Avril 2004
    Messages
    236
    Détails du profil
    Informations forums :
    Inscription : Avril 2004
    Messages : 236
    Points : 113
    Points
    113
    Par défaut
    Merci pour ces conseils.

    Je voudrais éviter les formats propriétaires.

    Sans aller jusqu'à un .DOC ou .XLS, est-il possible de générer à partir de la page HTML su site, une deuxième page HTML épurée des logos, hyperliens,... et qui soit dans un format imprimable sans soucis ? (qui rentre bien dans une page A4)

    Comme cela ils pourraient la télécharger et la conserver ou l'imprimer chez eux.

    Merci

  4. #4
    Membre régulier
    Profil pro
    Inscrit en
    Octobre 2003
    Messages
    102
    Détails du profil
    Informations personnelles :
    Âge : 51
    Localisation : France

    Informations forums :
    Inscription : Octobre 2003
    Messages : 102
    Points : 120
    Points
    120
    Par défaut
    Salut,

    Pour éliminer les logos , hyper lien pour l'impression.
    Je te propose de prendre les devants au niveau de la génération de la première page HTML.

    Tu peux a chaque fois que quelque chose dans l'affichage de la première page t'intereesse pour la 2eme page allégee, déclencher la bufferisation de sortie et intercepter le flux, pour l'accumuler dans une variable.

    Une sorte de mise en cache niveau serveur de la partie que tu souhaite rendre imprimable.

    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
     
    <?php
    $cache = "";
    //flux que je ne garde pas
    print "<img src=mon_logo.gif" />
    //flux que je garde 
    ob_start();//j'enclenche la bufferisation de sortie :
    print <table><tr>resultat a afficher et a imprimer[...]";
    // [...]
    //récupère cette portion du flux dans la variable :
    $cache .= ob_get_contents();
    //affiche toutefois cette portion sur le doc courant et éteint la buffferisation :
    ob_end_flush();
    //reprends une portion d'affichage qui ne  m'interresse pas pour l'impression
    print "<a href=\"blabla ....
    // et ainsi de suite tu peux  successivement
    //réouvrir la buff° de sortie pour garder ce que tu veux porposer a l'impression.
    ?>
    bref $cache est la version allegée du flux html affiché, celle que tu veux donner à l'impression.
    Ensuite ben soit tu génère un second fichier avec,

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    $fichier = fopen("mon_fichier.htm", "w");
    fputs($fichier, $cache);
    fclose($fichier);
    print "<a href=\"mon_fichier.htm\">Version imprimable</a>";
    l'inconvénient de ce que tu demandes ici c'est le risque de collision si plusieurs utilisateurs génèrent ce fichier et cherchent a cliquer sur le le lien en des laps de temps rapprochés , sauf a donner des noms différents (a la place de mon_fichier genre : session_id, ou en s'appuyant sur microtime() etc.).
    il n'y a pas de sotte existence

Discussions similaires

  1. [AC-2003] Récupérer champs d'une table pour nom fichier .txt à exporter
    Par jmpinault dans le forum Access
    Réponses: 1
    Dernier message: 30/10/2010, 10h51
  2. [Conception] Listes chainées avec plusieurs champs
    Par Nasky dans le forum Général Java
    Réponses: 6
    Dernier message: 11/03/2006, 23h52
  3. [Conception] Comment mettre à jour le champ "ID"
    Par WeDgEMasTeR dans le forum PHP & Base de données
    Réponses: 8
    Dernier message: 29/01/2006, 02h36
  4. [Conception] Export de base locale sur le serveur
    Par Destampy dans le forum PHP & Base de données
    Réponses: 6
    Dernier message: 14/06/2005, 14h24
  5. Export en Txt et en colonne
    Par gregos23 dans le forum Access
    Réponses: 2
    Dernier message: 16/02/2005, 13h42

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