Avatar billede torpmikkelsen Juniormester
20. oktober 2005 - 15:04 Der er 12 kommentarer og
1 løsning

Ny linie i txt fil

Jeg har lavet et system hvor jeg trækker noget data ud af en database og skriver det til en txt fil.

Den txt fil vil jeg så gerne kunne åbne i exel. Men når jeg gør det, ligger alle data i første række.

Jeg har eksperimenteret med at åbne den i notepad og lave manuelle linieskift. Så kan jeg godt åbne den rigtigt i Exel.

Hvordan laver jeg de linie skift?

Mit script:

$content = $row['id'].';'.$row['navn'].';'.$row['efternavn'].';'.$row['stilling'].';'.$row['email'].';';
if (fwrite($handle, $content) === FALSE) {
  echo 'Kan ikke skrive til filen ('.$filename.')';
  exit;
}

På forhånd tak!
Avatar billede net-base.dk Nybegynder
20. oktober 2005 - 15:09 #1
Du laver et udtræt fra databasen, og løber det igennem med en while løkke?

Åbner du så filen X antal gange du løber denne løkke igennem? eller gemmer du hele lortet ned i nen variabel og gemmer det så ned i filen bagefter?
Avatar billede nielle Nybegynder
20. oktober 2005 - 15:13 #2
Linjeskift laves ved at skrive "\n" til tekst-filen.
Avatar billede nielle Nybegynder
20. oktober 2005 - 15:13 #3
Måske endda "\r\n".
Avatar billede showsource Seniormester
20. oktober 2005 - 15:14 #4
linieskift laver du med
\r\n
$content = $row['id'].'\r\n;'.$row['navn'].'\r\n;'.$row['efternavn'].'\r\n;'.$row['stilling'].'\r\n;'.$row['email'];
Avatar billede torpmikkelsen Juniormester
20. oktober 2005 - 15:15 #5
Jeg åbner filen én gang og skriver til filen X antal gange og slutter så af med at lukke filen igen
Avatar billede showsource Seniormester
20. oktober 2005 - 15:15 #6
hov, mangler jo så lige sidste .';';
Avatar billede torpmikkelsen Juniormester
20. oktober 2005 - 15:17 #7
OK, nu skriver den jo så bare \r\n til filen. Men den laver jo ikke et egentligt linieskift som exel kan genkende
Avatar billede showsource Seniormester
20. oktober 2005 - 15:19 #8
?
Så prøv uden \r
Avatar billede nielle Nybegynder
20. oktober 2005 - 15:22 #9
Du skal bruge "-tegn:

$content = $row['id'].";\r\n".$row['navn'].";\r\n".$row['efternavn'].";\r\n".$row['stilling'].";\r\n".$row['email'];
Avatar billede torpmikkelsen Juniormester
20. oktober 2005 - 15:32 #10
Yeps... så virker det!

nielle>> Smider du et svar?
Avatar billede krydset Nybegynder
20. oktober 2005 - 15:32 #11
Det her virker osse i exel


<?php
$filename = 'test.txt';
  $handle = fopen($filename, 'a');
 
  // Write $somecontent to our opened file.
  for($i=0; $i<10; $i++) {
        fwrite($handle, $i."\n");   
  }
 
 
?>
Avatar billede nielle Nybegynder
20. oktober 2005 - 15:34 #12
Læg mærke til at jeg har flyttet dine ;-tegn om foran linjeskiftene - ellers kommer det jo bare i starten af linjen.

Svar :^)
Avatar billede torpmikkelsen Juniormester
20. oktober 2005 - 15:35 #13
Takker alle mange gange for den hurtige indsats!
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester