Ecrire dans un fichier .txt

Achille32 Messages postés 37 Date d'inscription   Statut Membre Dernière intervention   -  
Achille32 Messages postés 37 Date d'inscription   Statut Membre Dernière intervention   -
Bonjour la communauté!
Je bosse sur un projet dans le quel je dois exporter certains enregistrements d'une table de ma base de données vers un fichier texte(.txt), tout en gardant l'ordre d'enregistrement des données (avec retour à la ligne).
Jusqu'ici j'ai tout simplement réussi creer le fichier texte avec la requete suivante que j'ai trouvée dans un forum:
$sql = "SELECT * INTO OUTFILE 'd:/Mes Fichiers/monfichier.txt' FIELDS TERMINATED BY ';' FROM table_dupliquee LIMIT 0 , 27 ";
et y copier les données à l'intérieur, mais le souci est que ces données n'apparaissent pas en ordre et il n'ya pas de retour à la ligne comme je le souhaite.
Si quelqu'un a une méthode à me proposer je lui serai très reconnaissant. Merci
Cordialement...
A voir également:

2 réponses

Pitet Messages postés 2826 Date d'inscription   Statut Membre Dernière intervention   527
 
Salut,

Pour les sauts de ligne, il semble que tu puisses le définir via la clause LINES TERMINATED.
Pour l'ordre des résultats, ajoute une clause ORDER BY à ta requête :
SELECT * INTO OUTFILE 'd:/Mes Fichiers/monfichier.txt' 
FIELDS TERMINATED BY ';' 
LINES TERMINATED BY '\n' 
FROM table_dupliquee 
ORDER BY champ_de_tri 
LIMIT 0, 27 


Bonne journée
0
Achille32 Messages postés 37 Date d'inscription   Statut Membre Dernière intervention  
 
Merci infiniment Pitet, ta requete fonctionne bien. Mais j'ai remarqué que le "\n" à lui seul ne me permetait pas d'aller à la ligne ,il a fallu que je mette ceci "\r\n".
Bonne journé...
0
Achille32 Messages postés 37 Date d'inscription   Statut Membre Dernière intervention  
 
Pitet ta requète fonctionne bien et affiche le contenu comme suit:

CO4 0 2010 000435552 3553464 MDF634664 74470000
CO4 0 2010 000435552 3553464 MDF634664 74470000
CO4 0 2010 000435552 3553464 MDF634664 74470000
CO4 0 2010 000435552 3553464 MDF634664 74470000

Je voudrais plustot avoir quelque chose qui ressemmble à ceci:



CO4020100004355535534642MDF63466474470000
CO4020100004355523553464MDF63466474470000
CO4020100004355523553464MDF63466474470000
CO4020100004355523553464MDF63466474470000


Comment faire?
Voici ma requete: "SELECT code_enreg,numero_dipe,numero,annee,mois_dipe,matricule_empl,regime,matricule_ass,retenue_irpp,numero_de_ligne,matricule_interne INTO OUTFILE 'D:/Mes fichier magnetiques/monfichier.txt' LINES TERMINATED BY '\r\n' FROM table_dupliquee WHERE matricule_empl = '$matricule_empl'";
0
Pitet Messages postés 2826 Date d'inscription   Statut Membre Dernière intervention   527
 
Tu peux utiliser la fonction sql CONCAT :
SELECT CONCAT(code_enreg,numero_dipe,numero,annee,mois_dipe,matricule_empl,regime,matricule_ass,retenue_irpp,numero_de_ligne,matricule_interne)
INTO OUTFILE 'D:/Mes fichier magnetiques/monfichier.txt' 
LINES TERMINATED BY '\r\n' 
FROM table_dupliquee 
WHERE matricule_empl = '$matricule_empl'
0
Achille32 Messages postés 37 Date d'inscription   Statut Membre Dernière intervention   > Pitet Messages postés 2826 Date d'inscription   Statut Membre Dernière intervention  
 
Cà fonctionne merci...
0
Achille32 Messages postés 37 Date d'inscription   Statut Membre Dernière intervention  
 
Bonjour Pitet,
Please comment je fais pour stocker plusieurs fichier txt dans le meme dossier (Mes Fichiers) sans toutefois écraser le fichier existant?
je rappele la requete que j'utilise:

SELECT * INTO OUTFILE 'd:/Mes Fichiers/monfichier.txt' FIELDS TERMINATED BY ';' FROM table_dupliquee LIMIT 0 , 27 ";

Cordialement...
0
nichola Messages postés 111 Date d'inscription   Statut Membre Dernière intervention   11
 
Salut,

Sinon une autre solution c'est de récupérer le résultat avec une requete simple sql et d'écrire le fichier en php
0