|
| 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
| |
|
|