Avatar billede clausga Nybegynder
07. februar 2005 - 13:16 Der er 10 kommentarer og
1 løsning

kopier fra MySQL til txt fil

Har oprettet spm om det før, med det virkede ikke helt som jeg ville ;)

jeg skal have kopiret nogle linie ind i en tekst fil WHERE kategori = '1'

+ jeg vil også selv kunne tilføje noget tekst.... sådan her kunne det se ud indhold.txt:

id1, http://www.link.dk, tekst her
id2, http://ww..... osv...
Avatar billede jakobdo Ekspert
07. februar 2005 - 14:18 #1
Det burde da være muligt!
Prøv at vis din SQL som gider dig det resultat du ønsker skrevet i filen!
Avatar billede clausga Nybegynder
07. februar 2005 - 14:52 #2
$crtv = mysql_query("SELECT FROM produkter WHERE gruppe = '$kid'");
while($row = mysql_fetch_array($crtv)) {

$id = $row["id"];
$link = $row["link"];
$tekst = $row["tekst"];

$string="id$id, $link, læs:$tekst";
}

altså skal jeg have alle de $string der kommer ind i en txt fil... jeg ved godt at eksemplet ikke er helt rigtig lavet ;)
Avatar billede jakobdo Ekspert
07. februar 2005 - 15:27 #3
Prøv at kig på dette link:
http://dk2.php.net/fwrite

Du skal åbne filen uden for din WHILE.
Og inde i while-løkken, retter du så:

if (fwrite($handle, $somecontent) === FALSE) {
      echo "Cannot write to file ($filename)";
      exit;
  }

til:

if (fwrite($handle, $string) === FALSE) {
      echo "Cannot write to file ($filename)";
      exit;
  }
Avatar billede clausga Nybegynder
07. februar 2005 - 15:37 #4
hmm er ikke helt med... hvad skal det bruges til, det som står før til: ? bruges til ?
Avatar billede jakobdo Ekspert
07. februar 2005 - 15:50 #5
Du burde næsten kunne bruge denne kode:

<?php

$filename = 'test.txt';
$somecontent = "Add this to the file\n";

$crtv = mysql_query("SELECT FROM produkter WHERE gruppe = '" . $kid . "'");

// Let's make sure the file exists and is writable first.
if (is_writable($filename))
{
    // In our example we're opening $filename in append mode.
    // The file pointer is at the bottom of the file hence
    // that's where $somecontent will go when we fwrite() it.
    if (!$handle = fopen($filename, 'a'))
    {
        echo "Cannot open file ($filename)";
        exit;
    }

    while($row = mysql_fetch_array($crtv))
    {
        $id = $row["id"];
        $link = $row["link"];
        $tekst = $row["tekst"];

        $string="id$id, $link, læs:$tekst";
       
        // Write $somecontent to our opened file.
        if (fwrite($handle, $string) === FALSE)
        {
            echo "Cannot write to file ($filename)";
            exit;
        }
    }
 
    echo "Success, wrote ($somecontent) to file ($filename)";
 
    fclose($handle);
}
else
{
    echo "The file $filename is not writable";
}
?>
Avatar billede clausga Nybegynder
07. februar 2005 - 16:40 #6
filen skal nulstilles hvergang, der skal ikke tilføjes noget nyt i den
Avatar billede jakobdo Ekspert
07. februar 2005 - 16:43 #7
Så skal du rette:
if (!$handle = fopen($filename, 'a'))

til:

if (!$handle = fopen($filename, 'w'))
Avatar billede clausga Nybegynder
07. februar 2005 - 18:28 #8
ok det virker jo fint men skal lige have linieskift med ind efter hver linie i tekst filen hvordan er det nu man gør det....

/n2 ?? et eller andet
Avatar billede clausga Nybegynder
07. februar 2005 - 18:40 #9
Fandt selv ud af det smid et svar.!
Avatar billede jakobdo Ekspert
07. februar 2005 - 18:53 #10
Svar!
Og du kan evt bruge: \n, men brug evt \r\n så er du på den sikre side!
Avatar billede jakobdo Ekspert
07. februar 2005 - 21:14 #11
Takker!
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