|  | 		    
					
        
         
          
         
	
          | |  | Sende MySQL data til csv-fil? Fra : Dude
 | 
 Dato :  04-02-08 18:35
 | 
 |  | Er der nogen der har et godt bud på hvordan jeg kan eksportere nogle
 data fra min MySQL DB som en csv-fil?
 
 - altså; et script som kan lave en csv-fil.
 
 Mvh
 John
 
 
 |  |  | 
  Philip Nunnegaard (05-02-2008) 
 
	
          | |  | Kommentar Fra : Philip Nunnegaard
 | 
 Dato :  05-02-08 07:02
 | 
 |  | "Dude" <post@XxXx_mejlgade.dk> skrev i meddelelsen
 news:47a74d7c$0$15015$ba624c82@nntp02.dk.telia.net...
 > Er der nogen der har et godt bud på hvordan jeg kan eksportere nogle data
 > fra min MySQL DB som en csv-fil?
 >
 > - altså; et script som kan lave en csv-fil.
 
 PhpMyAdmin kan gøre det. Vælg database (og evt. tabel) og klik på "Eksport".
 Til venstre lige ved siden af menuen er der nogle valgmuligheder - bl.a.
 "CSV-data" og "CSV til MS Excel-data".
 
 
 
 |  |  | 
  Mads Lie Jensen (05-02-2008) 
 
	
          | |  | Kommentar Fra : Mads Lie Jensen
 | 
 Dato :  05-02-08 08:16
 | 
 |  | 
 
            On Mon, 04 Feb 2008 18:35:21 +0100, Dude <post@XxXx_mejlgade.dk> wrote:
 >Er der nogen der har et godt bud på hvordan jeg kan eksportere nogle 
 >data fra min MySQL DB som en csv-fil?
 >
 >- altså; et script som kan lave en csv-fil.
 I PEAR (http://pear.php.net)  er der en klasse som hedder
 Structures_DataGrid - som kan lave output i csv.
 Hvis det kun er en sjælden gang du skal bruge den csv-fil, så er Philips
 forslag med phpMyAdmin det hurtigste/nemmeste.
 -- 
 Mads Lie Jensen - mads@gartneriet.dk - ICQ #25478403
 Gartneriet - http://www.gartneriet.dk/ |  |  | 
  Dude (05-02-2008) 
 
	
          | |  | Kommentar Fra : Dude
 | 
 Dato :  05-02-08 18:50
 | 
 |  | Mads Lie Jensen wrote:
 >
 > Hvis det kun er en sjælden gang du skal bruge den csv-fil, så er Philips
 > forslag med phpMyAdmin det hurtigste/nemmeste.
 
 Det skulle gerne ende med en knap man klikker på: "Eksporter til CSV" -
 og så genereres en csv-fil..... så det går ikke rigtig med PHPMyAdmin.
 
 Mvh
 John
 
 
 |  |  | 
  Dan Storm (05-02-2008) 
 
	
          | |  | Kommentar Fra : Dan Storm
 | 
 Dato :  05-02-08 09:21
 | 
 |  | 
 
            Dude skrev:
 > Er der nogen der har et godt bud på hvordan jeg kan eksportere nogle 
 > data fra min MySQL DB som en csv-fil?
 > 
 > - altså; et script som kan lave en csv-fil.
 > 
 <?php
 mysql_connect("localhost", "root", "password");
 mysql_select_db("database");
 $result = mysql_query("SELECT navn, adresse, postnr, by, telefonnummer, 
 email FROM table ORDER BY navn ASC");
 $csv = "navn;adresse;postnr;by;telefonnummer;email\n";
 while($obj = mysql_fetch_object($result))
 {
    $csv .= 
 $obj->navn.";".$obj->addresse.";".$obj->postnr.";".$obj->by.";".$obj->telefonnummer.";".$obj->email."\n";
 }
 echo $csv;
 ?>
 -- 
 Dan Storm - storm at err0r dot dk / http://err0r.dk Tro ikke brugerne vil gøre noget for at undgå dit killfilter
 - Så vigtig er du heller ikke!
            
             |  |  | 
  Dude (05-02-2008) 
 
	
          | |  | Kommentar Fra : Dude
 | 
 Dato :  05-02-08 18:53
 | 
 |  | 
 
            Dan Storm wrote:
 > <?php
 > 
 > mysql_connect("localhost", "root", "password");
 > mysql_select_db("database");
 > 
 > 
 > $result = mysql_query("SELECT navn, adresse, postnr, by, telefonnummer, 
 > email FROM table ORDER BY navn ASC");
 > 
 > $csv = "navn;adresse;postnr;by;telefonnummer;email\n";
 > 
 > while($obj = mysql_fetch_object($result))
 > {
 >     $csv .= 
 > $obj->navn.";".$obj->addresse.";".$obj->postnr.";".$obj->by.";".$obj->telefonnummer.";".$obj->email."\n"; 
 > 
 > 
 > }
 > 
 > echo $csv;
 > 
 > ?>
 Tak.    Så vidt jeg lige kan se, så er det vist "bare" selve indholdet til 
 filen? (ikke at kimse af, - det er også væsentligt, så tak for det)
 Nu skal jeg så bare have lavet noget header-output-noget (forestiller 
 jeg mig...? Men det er jo så det jeg ikke rigtig ved hvordan gøres) - så 
 der dannes en fil.
 Mvh
 John
            
             |  |  | 
   Birger (05-02-2008) 
 
	
          | |  | Kommentar Fra : Birger
 | 
 Dato :  05-02-08 19:21
 | 
 |  | 
 
            "Dude" <post@XxXx_mejlgade.dk> skrev i en meddelelse 
 news:47a8a310$0$15009$ba624c82@nntp02.dk.telia.net...
 > Dan Storm wrote:
 8X
 >
 > Nu skal jeg så bare have lavet noget header-output-noget (forestiller jeg 
 > mig...? Men det er jo så det jeg ikke rigtig ved hvordan gøres) - så der 
 > dannes en fil.
 >
 Det er ikke nødvendigt, hvis du skal gemme i fil.
 $handle = fopen( "filnavn", "w");
 fwrite( $handle, "bla., bla., bla..."); // eller indhold af $csv..
 fclose( $handle);
 Skal nok krydres med lidt errorcheck og -handling etc., men eller skulle det 
 da være lige ud ad landevejen.
 Se evt. http://dk.php.net/manual/en/function.fopen.php Birger
 -----
http://bbsorensen.dk
http://varmeretter.dk  - hverdagsmad. Sundt, nemt hurtigt og billigt. Daglig 
 opdatering.
            
             |  |  | 
   Philip Nunnegaard (05-02-2008) 
 
	
          | |  | Kommentar Fra : Philip Nunnegaard
 | 
 Dato :  05-02-08 19:21
 | 
 |  | 
 
            "Dude" <post@XxXx_mejlgade.dk> skrev i meddelelsen 
 news:47a8a310$0$15009$ba624c82@nntp02.dk.telia.net...
 > Dan Storm wrote:
 >
 >> <?php
 >>
 >> mysql_connect("localhost", "root", "password");
 >> mysql_select_db("database");
 >>
 >>
 >> $result = mysql_query("SELECT navn, adresse, postnr, by, telefonnummer, 
 >> email FROM table ORDER BY navn ASC");
 >>
 >> $csv = "navn;adresse;postnr;by;telefonnummer;email\n";
 >>
 >> while($obj = mysql_fetch_object($result))
 >> {
 >>     $csv .= 
 >> $obj->navn.";".$obj->addresse.";".$obj->postnr.";".$obj->by.";".$obj->telefonnummer.";".$obj->email."\n"; 
 >>  }
 >>
 >> echo $csv;
 >>
 >> ?>
 >
 > Tak.    > Så vidt jeg lige kan se, så er det vist "bare" selve indholdet til filen? 
 > (ikke at kimse af, - det er også væsentligt, så tak for det)
 >
 > Nu skal jeg så bare have lavet noget header-output-noget (forestiller jeg 
 > mig...? Men det er jo så det jeg ikke rigtig ved hvordan gøres) - så der 
 > dannes en fil.
 Er det ikke bare at tilføje dette (inden database-kaldet):
 echo "navn;adresse;postnr;by;telefonnummer;email";
 Bortset fra, at der formentlig ikke er en kolonne, der hedder "by", da det 
 ville komme i konflikt med SQLs "by" (order by...) 
            
             |  |  | 
    Dan Storm (06-02-2008) 
 
	
          | |  | Kommentar Fra : Dan Storm
 | 
 Dato :  06-02-08 08:20
 | 
 |  | 
 
            Philip Nunnegaard skrev:
 > Bortset fra, at der formentlig ikke er en kolonne, der hedder "by", da 
 > det ville komme i konflikt med SQLs "by" (order by...)
 argh, ja... :p det var bare et hurtigt skrevet eksempel...  ;)
 -- 
 Dan Storm - storm at err0r dot dk / http://err0r.dk Tro ikke brugerne vil gøre noget for at undgå dit killfilter
 - Så vigtig er du heller ikke!
            
             |  |  | 
   Dan Storm (06-02-2008) 
 
	
          | |  | Kommentar Fra : Dan Storm
 | 
 Dato :  06-02-08 08:20
 | 
 |  | 
 
            Dude skrev:
 > Tak.    > Så vidt jeg lige kan se, så er det vist "bare" selve indholdet til 
 > filen? (ikke at kimse af, - det er også væsentligt, så tak for det)
 > 
 > Nu skal jeg så bare have lavet noget header-output-noget (forestiller 
 > jeg mig...? Men det er jo så det jeg ikke rigtig ved hvordan gøres) - så 
 > der dannes en fil.
 Well, hvis det er fordi du vil tvinge folk til at download CSV filen, så 
 er det her en mulighed:
 <?php
 mysql_connect("localhost", "root", "password");
 mysql_select_db("database");
 $result = mysql_query("SELECT navn, adresse, postnr, by, telefonnummer, 
 email FROM table ORDER BY navn ASC");
 $csv = "navn;adresse;postnr;by;telefonnummer;email\n";
 while($obj = mysql_fetch_object($result))
 {
      $csv .= 
 $obj->navn.";".$obj->addresse.";".$obj->postnr.";".$obj->by.";".$obj->telefonnummer.";".$obj->email."\n";
 }
 // bemærk headers
 header("Content-Type: application/octet-stream");
 header("Content-Description: File Transfer");
 header("Content-Disposition: attachment; filename=mitdata.csv");
 echo $csv;
 ?>
 > 
 > Mvh
 > John
 > 
 -- 
 Dan Storm - storm at err0r dot dk / http://err0r.dk Tro ikke brugerne vil gøre noget for at undgå dit killfilter
 - Så vigtig er du heller ikke!
            
             |  |  | 
    Dude (06-02-2008) 
 
	
          | |  | Kommentar Fra : Dude
 | 
 Dato :  06-02-08 11:59
 | 
 |  | Dan Storm wrote:
 > Dude skrev:
 
 > Well, hvis det er fordi du vil tvinge folk til at download CSV filen, så
 > er det her en mulighed:
 >
 >
 > <?php
 >
 > mysql_connect("localhost", "root", "password");
 > mysql_select_db("database");
 >
 >
 > $result = mysql_query("SELECT navn, adresse, postnr, by, telefonnummer,
 > email FROM table ORDER BY navn ASC");
 >
 > $csv = "navn;adresse;postnr;by;telefonnummer;email\n";
 >
 > while($obj = mysql_fetch_object($result))
 > {
 >     $csv .=
 > $obj->navn.";".$obj->addresse.";".$obj->postnr.";".$obj->by.";".$obj->telefonnummer.";".$obj->email."\n";
 >
 >
 > }
 >
 > // bemærk headers
 > header("Content-Type: application/octet-stream");
 > header("Content-Description: File Transfer");
 > header("Content-Disposition: attachment; filename=mitdata.csv");
 >
 >
 > echo $csv;
 >
 > ?>
 >
 >
 >
 >>
 >> Mvh
 >> John
 >>
 >
 >
 Perfekt! - Tak
 Mvh
 John
 
 
 |  |  | 
 |  |