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 :

fputcsv et PHP 5.2


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
    Développeur informatique
    Inscrit en
    Décembre 2008
    Messages
    124
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : Maroc

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Conseil

    Informations forums :
    Inscription : Décembre 2008
    Messages : 124
    Par défaut fputcsv et PHP 5.2
    Bonjour tout le monde
    cela fait plusieurs semaines que je cherche un moyen pour exporter le contenu d'une requete, et je suis tombé sur la fonction fputcsv, j'ai essayé de l'utiliser mais sans résultat, et je me demande est ce possible que mon serveur ne reconnait pas cette fonction ?
    Merci d'avance pour votre aide

  2. #2
    Membre Expert

    Profil pro
    Inscrit en
    Août 2002
    Messages
    1 060
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2002
    Messages : 1 060
    Par défaut
    Bonjour,

    Tu ne donnes pas beaucoup de détails.
    Cela dit, tu peux aussi le faire directement en sql avec "SELECT... INTO OUTFILE", qui est beaucoup plus rapide.

  3. #3
    Membre confirmé
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Décembre 2008
    Messages
    124
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : Maroc

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Conseil

    Informations forums :
    Inscription : Décembre 2008
    Messages : 124
    Par défaut
    Citation Envoyé par jeca Voir le message
    Bonjour,

    Tu ne donnes pas beaucoup de détails.
    Cela dit, tu peux aussi le faire directement en sql avec "SELECT... INTO OUTFILE", qui est beaucoup plus rapide.
    Bien le bonjour jeca
    En faite la solution que tu a proposée exporte en format SQL ou CSV ?

  4. #4
    Membre Expert

    Profil pro
    Inscrit en
    Août 2002
    Messages
    1 060
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2002
    Messages : 1 060
    Par défaut
    Format sql, je ne connais pas.

    Pour les reste, il suffit de consulter la doc où tu trouveras tous les détails :
    http://dev.mysql.com/doc/refman/5.0/fr/index.html

  5. #5
    Membre averti
    Homme Profil pro
    Responsable des études
    Inscrit en
    Octobre 2005
    Messages
    11
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : France, Drôme (Rhône Alpes)

    Informations professionnelles :
    Activité : Responsable des études

    Informations forums :
    Inscription : Octobre 2005
    Messages : 11
    Par défaut Un peu de code pour aider ?
    J'ai un bout de code pour toi. D'abord tu crées ta liste de valeurs à partir de ta requête
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    $requet = 'SELECT * from table';
    $listeValeurs = Array();
    if($result = mysql_query($requet)) {
    	while ($ligne = mysql_fetch_array($result, MYSQL_ASSOC)) {
    		array_push($listeValeurs,$ligne["champ_de_table"]);
    	}
    }
    Et ensuite tu crées autant de ligne du fichier CSV à partir des liste de valeurs :

    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
     
     
    $lignes = creeLigne($listeValeurs);
     
    function creeLigne($Liste){
    	for ($i=0;$i<count($Liste);$i++) {
    		$ligne .= "\"";
    		$ligne .= $Liste[$i];
    		if ($i == (count($Liste) - 1)) {
    			$ligne .= "\"";
    		} else {
    			$ligne .= "\";";
    		}
    	}
    	$ligne .= "\n";
    	return $ligne;
    }
    Et après
    - soit tu envoies vers une page pour télécharger le fichier et dans ce cas tu auras
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    $lignes = creeLigne($listeValeurs);
    // telechargement du fichier
    header('Content-Disposition: inline; filename=fichierCSV.csv') ;
    header('Content-Type: application/csv') ;
    echo $lignes;
    - soit tu crées un fichier dans un répertoire et tu auras
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
    $lignes = creeLigne($listeValeurs);
    $fichier = "fichierCSV.txt";
    if (file_exists($fichier)) {
    	$fp = fopen ($fichier, "w");
    } else {
            // creation fichier
    	touch($fichier);
    	$fp = fopen ($fichier, "w");
    }
    fwrite($fp,$lignes)
    fclose($fp);
    A noter que pour cet exemple j'ai mis tout dans une ligne, mais que tu peux t'arranger pour en faire en colonne comme dans cet exemple :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    $requet = 'SELECT * from table';
    $listeValeurs = Array();
    if($result = mysql_query($requet)) {
    	while ($ligne = mysql_fetch_array($result, MYSQL_ASSOC)) {
    		$lignes .= creeLigne($ligne["champ_de_table"]);
    	}
    }

Discussions similaires

  1. [EDI] Quel est l'éditeur que vous recommandez pour PHP ?
    Par Lana.Bauer dans le forum EDI, CMS, Outils, Scripts et API
    Réponses: 400
    Dernier message: 10/04/2018, 20h08
  2. Quel est le meilleur script PHP de portail (CMS) ?
    Par Lana.Bauer dans le forum EDI, CMS, Outils, Scripts et API
    Réponses: 187
    Dernier message: 18/10/2012, 07h45
  3. Réponses: 2
    Dernier message: 14/05/2009, 11h08
  4. L'avenir est-il au PHP ?
    Par Manolo dans le forum Langage
    Réponses: 468
    Dernier message: 11/02/2008, 18h54

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