Ecrire dans un fichier .txt

Fermé
Achille32 Messages postés 37 Date d'inscription mardi 21 avril 2015 Statut Membre Dernière intervention 21 mai 2016 - 15 sept. 2015 à 17:14
Achille32 Messages postés 37 Date d'inscription mardi 21 avril 2015 Statut Membre Dernière intervention 21 mai 2016 - 28 sept. 2015 à 09:50
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 lundi 11 février 2013 Statut Membre Dernière intervention 21 juillet 2022 525
Modifié par Pitet le 15/09/2015 à 17:34
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 mardi 21 avril 2015 Statut Membre Dernière intervention 21 mai 2016
16 sept. 2015 à 09:23
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 mardi 21 avril 2015 Statut Membre Dernière intervention 21 mai 2016
16 sept. 2015 à 15:37
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 lundi 11 février 2013 Statut Membre Dernière intervention 21 juillet 2022 525
16 sept. 2015 à 15:54
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 mardi 21 avril 2015 Statut Membre Dernière intervention 21 mai 2016 > Pitet Messages postés 2826 Date d'inscription lundi 11 février 2013 Statut Membre Dernière intervention 21 juillet 2022
16 sept. 2015 à 16:52
Cà fonctionne merci...
0
Achille32 Messages postés 37 Date d'inscription mardi 21 avril 2015 Statut Membre Dernière intervention 21 mai 2016
17 sept. 2015 à 12:58
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 jeudi 7 juin 2007 Statut Membre Dernière intervention 24 avril 2016 11
15 sept. 2015 à 21:20
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