tabel in zijn geheel exporteren naar csv bestand

  • Onderwerp starter Onderwerp starter Jors
  • Startdatum Startdatum
Status
Niet open voor verdere reacties.

Jors

Gebruiker
Lid geworden
1 okt 2006
Berichten
142
Goedenavond,

Ik ben op zoek naar een manier om een tabel in zijn geheel naar een csv bestand te exporteren, dat geschikt is om te gebruik in Excel. Hierbij moet elke nieuwe kolom van de mysql tabel ook een nieuwe kolom zijn in excel. Dit is mogelijk vanuit het phpadmin scherm, maar ik wil de gebruikers van de website dit ook zelf kunnen laten doen.

Nu heb ik na wat googlen 2 methodes gevonden. Dit is de eerste, maar deze krijg ik geheel niet aan het werk:

PHP:
SELECT * INTO OUTFILE 'result.csv'
FIELDS TERMINATED BY ',' OPTIONALLY ENCLOSED BY '"'
LINES TERMINATED BY '\n'
FROM my_table;

Na wat verder zoeken kwam ik ook op deze:

PHP:
<?php
$file = fopen("contacts.csv","w");

foreach ($list as $line)
  {
  fputcsv($file,split(',',$line));
  }

fclose($file); ?>

Deze laatste code doet wel iets, maar ik krijg een melding dat split niet meer gebruikt wordt. Dus na wat aanpassen heb ik uiteindelijk wel een csv bestand gekregen, maar alles staat onder elkaar en ik heb geen idee hoe ik dit aanpas aan mijn eigen wensen.

Bvd voor de hulp!
 
Veel dank voor de hulp! Dit werkt inderdaad. Met een kleine kanttekening: als ik vanuit het phpMyAdmin menu exporteer dan staan de verschillende kolommen uit de mysql tabel ook in verschillende kolommen in excel. Dit lukt ook wel met Excel, alleen moet ik de file dan eerst importeren via het daarvoor bestemde menu.

Als ik beide files open in kladblok dan zie ik dat het enige verschil is dat de kolommen in de file van phpMyAdmin gescheiden worden door een ";" en in de file van de code met een ",". Dit zou ik toch moeten aanpassen in de code, maar ik zie niet direct waar dat bepaald wordt. Kun je me daar nog bij helpen?

Tot slot nog een kort offtopic vraagje, iets wat ik wel vaker terug zie komen in php codes is een pijltje zoals hier:

PHP:
foreach($row as $name => $value)

Wat is de betekenis daarvan? Dit kwam ik niet tegen op de w3schools.com website.
 
Als ik beide files open in kladblok dan zie ik dat het enige verschil is dat de kolommen in de file van phpMyAdmin gescheiden worden door een ";" en in de file van de code met een ",". Dit zou ik toch moeten aanpassen in de code, maar ik zie niet direct waar dat bepaald wordt. Kun je me daar nog bij helpen?

Negeer dat maar, na nog eens goed kijken was het eigenlijk heel simpel. De komma is vervangen door een punt-komma en nu opent de csv file direct goed in excel.

Resteert alleen nog die ene offtopic vraag over de betekenis van: =>
 
; is eigenlijk region settings. Het wordt veroorzaakt door je nederlandse instellingen. eigenlijk moet je niet ; gebruiken: CSV betekend comma seperated values. welke idioot heeft bedacht om het dan maar met ; te doen in Nederlandse instellingen is mij een raadsel.

anyway: => is directe declaratie van waarden

PHP:
$a = array ('test' => 1, 'hello' => 2);
echo $a['test'];
echo $a['hello'];
 
Ah vandaar. Inderdaad raar dat we het in nl anders doen ;) Bedankt iig!
 
Ik wil dit topic toch nog even openen, omdat ik in de output naar de csv file een kolom heb zitten die in de mysql database geconfigureerd is als decimale(2). Deze wordt altijd weergegeven zoals bij 92628171.76

Nu wil ik ook deze converteren naar een Nederlandse weergave. Dus bij het exporteren zou ik graag willen dat de punt (.) vervangen wordt door een komma (,). Hoe realiseer ik dit?
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan