Avatar billede soelle Nybegynder
07. august 2007 - 23:25 Der er 8 kommentarer og
1 løsning

Problem med tekstfil til excel

Jeg vil lave en export fra en MsSQL database til en tekstfil. Jeg bruger flg. kode:

if(!$handle = fopen("kundeliste.txt", "w+")) print("fopen gik galt");
else {
$result = mysql_query("SELECT * FROM kunder") or die(mysql_error());
while($row = mysql_fetch_assoc($result)) {
$unikid=$row['id'] ;
$kundeid=$row['kundeid'];
$adgangskode=$row['adgangskode'];
$tekst = strval($unikid) . strval($kundeid) . strval($adgangskode);
fwrite($handle, $tekst);
}
fclose($handle);
}

Det virker som det skal bortset fra at efterførste gang kommer der et linjeskift ind efter adgangskoden. Den første linje står fint i excel men så går det galt. Hvad kan det skyldes og hvorfor inde midt i det hele?
Avatar billede gider_ikke_mere Nybegynder
08. august 2007 - 07:42 #1
Jeg går ud fra det som i andre programmeringssprog at hver gang man kalder kommandoen til at skrive i en fil, sker det i en ny linie.

Derfor skal du sikkert skrive $tekst = $tekst . strval($unikid) . strval($kundeid) . strval($adgangskode);
og først bruge fwrite($handle, $tekst); efter din while løkke.
Avatar billede soelle Nybegynder
08. august 2007 - 08:10 #2
Det er desværre det samme, der sker. I første række står det hele fint. I de næste rækker når den at skrive $unikid og så laver den en ny række.
Avatar billede soelle Nybegynder
08. august 2007 - 08:17 #3
Nu ændrede jeg feltet i databasen fra varchar til text og så virker det. Men hvorfor sker der? Burde strval ikke lave det til tekst?
Avatar billede gider_ikke_mere Nybegynder
08. august 2007 - 08:21 #4
Så vidt jeg husker finder php selv ud af det er tekst, så snart tekst og tal bliver sat sammen. Jeg kan ikke se det skulle have indflydelse om det er varchar eller text.
Men godt det virker.
Avatar billede soelle Nybegynder
08. august 2007 - 08:40 #5
Ja, bare frustrende når man ikke helt ved hvorfor.
Avatar billede soelle Nybegynder
08. august 2007 - 09:52 #6
lukker
Avatar billede gider_ikke_mere Nybegynder
08. august 2007 - 09:58 #7
Tak for hjælpen!
Avatar billede sw_red_6 Nybegynder
08. august 2007 - 10:03 #8
Det kan evt. være fordi der er ekstra whitespace i enden da det var en varchar?
Du kan prøve med trim() http://dk2.php.net/manual/en/function.trim.php eller rtrim http://dk2.php.net/manual/en/function.rtrim.php hvis du støder ind i et lignende problem
Avatar billede soelle Nybegynder
08. august 2007 - 15:22 #9
Tak, det prøver jeg.
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