16. januar 2001 - 08:24Der er
14 kommentarer og 1 løsning
Indlæsning fra kommasepareret fil.
Jeg har en database hvor jeg skal kunne indsætte data fra en kommasepareret fil. Hvordan gør jeg det og er det samtidig muligt at checke de data der allerede er i databasen, så der kommer en liste over de data der er nye, opdaterede og slettede i forhold til de data i filen?
det var den måde man får dataene ud af databasen, jeg gik ud fra at det felt hvor dataene ligger i hedder \"felt\" i tabellen \"tabel\". Alle data bliver puttet i en array der hedder $data[]
Du putter dataene ind i databasen sådan her: $data = implode(\",\",$data); $query = mysql_query(\"SELECT * FROM tabel WHERE id = \'?\'\"); $row = mysql_fetch_array($query); $data = $row[felt] . $data; mysql_query(\"UPDATE tabel SET felt = \'$data\' WHERE id = \'?\'\");
ok den kommer her: $filnavn = \"\"; //dit filnavn $file = file(\'$filnavn\'); $file = implode(\",\",$file); mysql_query(\"INSERT INTO tabel(id,felt)\" . \"VALUES(\'\',\'$file\')\");
Her er en måde at indlæse filer i mysql. Filen skal ligge i samme bibliotek som din mysql-database.
mysql> LOAD DATA INFILE \'dintextfil.txt\' INTO TABLE din_tabel (col1,col2,...) FIELDS TERMINATED BY \',\' LINES TERMINATED BY \'\\n\';
Du skal så skrive navnet på din komma-separerede fil, navnet på din tabel, navnene på de kolonner værdierne skal sættes ind i (i den rækkefølge de optræder i filen). Endelig kan du angive præcis hvordan felter er afgrænset (hvis det ikke er komma) og hvordan linierne (posterne) afsluttes. Du kan læse mere i mysql manualen under LOAD DATA INFILE.
Okarj (Du får points :O)) Jeg skal lige have det uddybet lidt..
Data\'ene i tekstfilen står på denne form:
\"Varenr\",\"Varetekst\",\"Forfatter\",\"Bontekst\",\"Varegruppe\",\"Salgspris\" \"0002259060\",\"ALL QUIET ON THE ORIENT EXPRESS\",\"MILLS\",\"ALL QUIET ON THE\",\"4\",\"15500\" \"0002557932\",\"I SEE A VOICE\",\"REE\",\"I SEE A VOICE\",\"4\",\"31500\" \"0002570777\",\"PIP PIP\",\"GRIFFITHS\",\"PIP PIP\",\"4\",\"21000\" \"0003709418\",\"COLLINS COBUILD ENGLISH DICTIONARY\",\"\",\"COLLINS COBUILD\",\"4\",\"24000\" \"0003750450\",\"KEY WORDS IN BUSINESS\",\"MASCULL\",\"KEY WORDS IN BUS\",\"4\",\"15000\" \"0004331273\",\"SCHOOL DICTIONARY\",\"\",\"SCHOOL DICTIONAR\",\"4\",\"13000\" \"0004700724\",\"POCKET ENGLISH THE SAURUS\",\"COLLINS\",\"POCKET ENGLISH T\",\"4\",\"13000\" \"0004709802\",\"JANES AIRCRAFT RECOGNITION GUIDE\",\"\",\"JANES AIRCRAFT R\",\"4\",\"24000\" \"0006377408\",\"CULTURES AND ORGANIZATIONS\",\"HOFSTEDE\",\"CULTURES AND ORG\",\"4\",\"12000\"
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.