Een CSV verwerken in de database

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

- Ariën  -
Beheerder

- Ariën -

16/10/2010 11:28:17
Quote Anchor link
Hallo,

Ik ben van plan om voor mijn site een systeem te maken waarmee ik een *.csv-bestand kan inlezen en kan verwerken naar de database.
Nu vroeg ik me af hoe ik dit het beste zou kunnen doen?

Nu is dit mijn idee: na uploadformulier plaats ik de CSV-file in een buffermap /csv-buffer. En lees hem daar weer uit met http://nl2.php.net/fgetcsv.

Is dit een goede manier, of kan dit veel makkelijker zonder gebruik van een tijdje buffermap waar ik de CSV naartoe kopieeer?
Gewijzigd op 16/10/2010 11:29:14 door - Ariën -
 
PHP hulp

PHP hulp

23/12/2024 18:47:03
 
Niels K

Niels K

16/10/2010 12:05:35
Quote Anchor link
Uit mijn hoofd. (Niet getest dus)

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
load data local infile 'jouwbestand.csv' into table jouwtabel
fields terminated by ','
enclosed by '"'
lines terminated by '\n'
(Naam, Stad, Omschrijving, etc)
Gewijzigd op 16/10/2010 12:05:52 door Niels K
 
- Ariën  -
Beheerder

- Ariën -

16/10/2010 12:12:12
Quote Anchor link
Tuurlijk, mysql kan ook ja.
Ik neem aan dat dat ik dan wel het volledige pad op moet geven dan bij jouwbestand.csv.

Toevoeging op 16/10/2010 13:39:50:

Overigens, kan je ook met MySQL data overschrijven?

Ik wil elke maand een nieuwe CSV importeren, waarbij de data gewijzigd kan zijn.
 
- Ariën  -
Beheerder

- Ariën -

07/11/2010 16:29:02
Quote Anchor link
Iemand die hier antwoord op heeft op beide vragen?
 
Martijn B

Martijn B

07/11/2010 19:28:46
Quote Anchor link
http://dev.mysql.com/doc/ ?
Gewijzigd op 07/11/2010 19:31:30 door Martijn B
 
- Ariën  -
Beheerder

- Ariën -

07/11/2010 19:29:55
Quote Anchor link
Martijn B op 07/11/2010 19:28:46:
mysql.com?

Heb je ook geen minder UTFS'erig antwoord, want daar had ik al op gekeken.
Of wou je soms niks in je schoentje hebben met Sinterklaas ;-)?
 
Martijn B

Martijn B

07/11/2010 19:34:41
Quote Anchor link
Eigenlijk wel :P

http://dev.mysql.com/doc/refman/5.0/en/load-data.html

Quote:
The REPLACE and IGNORE keywords control handling of input rows that duplicate existing rows on unique key values:
...
If you specify REPLACE, input rows replace existing rows. In other words, rows that have the same value for a primary key or unique index as an existing row. See Section 12.2.7, “REPLACE Syntax”.
...


Is dat wel je bedoelt?
Gewijzigd op 07/11/2010 19:36:09 door Martijn B
 
- Ariën  -
Beheerder

- Ariën -

07/11/2010 19:41:55
Quote Anchor link
Ja, als het goed is wel.
Ik ga er in testomgeving mee experimenteren.
 
Martijn B

Martijn B

07/11/2010 19:45:19
Quote Anchor link
Als je dus een id hebt dan hoef je alleen nog REPLACE in je query te zetten. Als ik het goed begrijp.
 
- Ariën  -
Beheerder

- Ariën -

07/11/2010 19:50:07
Quote Anchor link
Dat ga ik eens proberen :-)
 



Overzicht Reageren

 
 

Om de gebruiksvriendelijkheid van onze website en diensten te optimaliseren maken wij gebruik van cookies. Deze cookies gebruiken wij voor functionaliteiten, analytische gegevens en marketing doeleinden. U vindt meer informatie in onze privacy statement.