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 :

[CSV] générer csv avec tabulation comme séparateur


Sujet :

Langage PHP

  1. #1
    Membre actif
    Homme Profil pro
    Développeur Web
    Inscrit en
    Août 2007
    Messages
    314
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Maroc

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Août 2007
    Messages : 314
    Points : 217
    Points
    217
    Par défaut [CSV] générer csv avec tabulation comme séparateur
    Bonjour,
    je veux générer un fichier csv avec tabulation comme séparateur , pour les en-tête ça fonctionne , mais pour le contenu des cellules m'affiche tout le contenu dans la première cellule et ajoute / devant les \t : /\t !
    merci d'avance pour vos réponses .

  2. #2
    Modérateur
    Avatar de blueice
    Homme Profil pro
    Développeur Web
    Inscrit en
    Mars 2003
    Messages
    3 487
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 49
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Mars 2003
    Messages : 3 487
    Points : 5 134
    Points
    5 134
    Par défaut
    Tu peux être plus précis, montre nous un exemple et explique précisément ce que tu fais.

  3. #3
    Membre actif
    Homme Profil pro
    Développeur Web
    Inscrit en
    Août 2007
    Messages
    314
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Maroc

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Août 2007
    Messages : 314
    Points : 217
    Points
    217
    Par défaut
    merci blueice pour votre réponse.
    j'ai un fichier CSV à générer depuis des données d'une base de donnée , le séparateur sera est une tabulation.
    j'ai réglé le problème de séparateur
    en-tête
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    	$csv_data = utf8_encode("url")."\t"."Title"."\t"."offerID"."\t"."description"."\t"."prix"."\t"."cost"."\t"."image"."\t"."avail"."\t"."marque"."\t"."model"."\t"."type"."\t"."audience"."\t"."size"."\t"."couleur\n";
    le contenu récupère depuis une requête , je fais une boucle sur la totalité des résultats de la requête :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    $csv_data .= "'".utf8_encode($urlproduit)."\t".utf8_encode($nom)."\t".utf8_encode($idproduit)."\t".utf8_encode($desc)."\t".utf8_encode($prix)."\t".utf8_encode($frais)."\t".utf8_encode($urlimage)."\t".utf8_encode("001")."\t".utf8_encode($fabricant)."\t".utf8_encode($model)."\t".utf8_encode($typepdt)."\t".utf8_encode($genre)."\t".utf8_encode($size)."\t".utf8_encode($color)."'"."\n";
    mais le souci que j'ai maintenant est que lorsqu'il y des retours ou fin de ligne dans les champs de type texte, le contenu de certaines cellules est diviser en deux , et la deuxième partie occupe la première celluele de la ligne suivante.
    donc est ce que je dois éliminer les retours et fin de ligne avant d'envoyer le fichier.
    j'ai utiliser :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    $desc = substr($row_shoppingFR['texte_fr'],0,160);
    $desc = ereg_replace ("\r\n", '', $desc);
    mais ça rien changer .

  4. #4
    Modérateur
    Avatar de blueice
    Homme Profil pro
    Développeur Web
    Inscrit en
    Mars 2003
    Messages
    3 487
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 49
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Mars 2003
    Messages : 3 487
    Points : 5 134
    Points
    5 134
    Par défaut
    Et si tu exportes directement depuis phpMyAdmin par exemple, regarde ce qu'il te recrache...ça devrait t'aider.

  5. #5
    Membre actif
    Homme Profil pro
    Développeur Web
    Inscrit en
    Août 2007
    Messages
    314
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Maroc

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Août 2007
    Messages : 314
    Points : 217
    Points
    217
    Par défaut
    élimination des retours chariot et fin de ligne
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    			$desc = str_replace ("\r\n", ' ', $desc);
    			$desc = str_replace("\r",' ',$desc);
    			$desc = str_replace("\n",' ',$desc);

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

Discussions similaires

  1. Réponses: 3
    Dernier message: 03/04/2015, 10h54
  2. [XL-2010] csv : ne pas considérer le ";" comme séparateur à l'ouverture
    Par Steph5 dans le forum Excel
    Réponses: 3
    Dernier message: 26/03/2015, 14h00
  3. Lire fichier CSV avec tabulation comme séparation
    Par theNoob dans le forum Langage
    Réponses: 3
    Dernier message: 07/09/2009, 18h52
  4. Réponses: 6
    Dernier message: 14/02/2007, 12h51
  5. Réponses: 1
    Dernier message: 13/06/2006, 18h57

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