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] Fonction PHP pour SQL Server


Sujet :

Langage PHP

  1. #1
    Membre du Club
    Profil pro
    Étudiant
    Inscrit en
    Avril 2005
    Messages
    72
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2005
    Messages : 72
    Points : 44
    Points
    44
    Par défaut [CSV] Fonction PHP pour SQL Server
    Bonjour,

    Je souhaiter générer un fichier *.csv à partir d'une requête sur un serveur SQL Server 2000.

    Création du lien sur le fichier csv généré :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    $id_resultat =  mssql_query("SELECT * FROM Personne ORDER BY Nom_Pers", $id_connexion);
    $tab = mssql_fetch_row($id_resultat);
    generer_csv($tab,"personnes.csv");
    echo '<a href="csv/personnes.csv">Exporter la liste</a><br><br>';
    Code la fonction generer_csv() :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    function generer_csv($result, $fich)
    {
     // Ouverture du fichier en écriture
     $fp = fopen("csv/".$fich, 'w');
     // Ecriture du fichier
     foreach ($result as $line)
     {
      fputcsv($fp, split(';', $line) );
     }
     fclose($fp);
    }
    Le fichier est créé et le lien fonctionne.

    Mais je n'obtiens pas du tout l'affichage souhaité.
    Seul la première ligne est enregistrée dans le fichier et les champs se placent en colonne (et non en ligne).

    Le fichier généré est :
    "Nom"
    "Prenom"
    "Adresse"
    au lieu de :
    "Nom"; "Prenom"; "Adresse"
    Quelqu'un aurait-il une solution?

    Merci, à bientôt!

  2. #2
    Membre éprouvé
    Profil pro
    Inscrit en
    Juillet 2005
    Messages
    774
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : Canada

    Informations forums :
    Inscription : Juillet 2005
    Messages : 774
    Points : 936
    Points
    936
    Par défaut
    n'est ce pas le separateur ( qui provoque cette affichage. je sais pas mais je me demande si tu ne devrais pas utiliser la virgule plutot
    Ps:veuillez m'informer si je me trompe

  3. #3
    Membre du Club
    Profil pro
    Étudiant
    Inscrit en
    Avril 2005
    Messages
    72
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2005
    Messages : 72
    Points : 44
    Points
    44
    Par défaut
    Citation Envoyé par ouatmad
    n'est ce pas le separateur ( qui provoque cette affichage. je sais pas mais je me demande si tu ne devrais pas utiliser la virgule plutot
    Oui, c'est le séparateur qui donne cette affichage...

    Le problème est justement là. Je souhaiterais que ce séparateur soit un ; mais c'est un \n (passage à la ligne).

Discussions similaires

  1. [SQL-Server] Driver PHP pour SQL server 2008 R2
    Par Anakinyo dans le forum PHP & Base de données
    Réponses: 1
    Dernier message: 10/09/2014, 14h10
  2. [WS 2008 R2] Compatibilité Driver PHP Pour SQL SERVER
    Par iback dans le forum Windows Serveur
    Réponses: 3
    Dernier message: 02/08/2012, 09h18
  3. Equivalent fonctions lead (ORACLE) pour SQL SERVER
    Par oOBaalberithOo dans le forum Développement
    Réponses: 7
    Dernier message: 06/06/2012, 11h11
  4. Réponses: 0
    Dernier message: 12/04/2010, 23h44

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