Avatar billede asgerz.dk Nybegynder
17. december 2003 - 13:48 Der er 16 kommentarer og
2 løsninger

Indsæt en masse i DB

Hej jeg skal have indsat alle danske postnumre og tilsvarene byer i en db, men at taste det selv ville nok gøre mig lidt ør i hovedet... nogle forslag???
Avatar billede overchord Nybegynder
17. december 2003 - 13:51 #1
check postdnamrk - de har dem alle liggende i Excel-format, soeg evt paa postnummer her paa eksperten, der skulle du kunne finde den secifikke adresse
Avatar billede asgerz.dk Nybegynder
17. december 2003 - 13:52 #2
overchord... yes jeg har excelfilen, men derfra også til den ligger i min db...?
Avatar billede overchord Nybegynder
17. december 2003 - 13:53 #3
hvilken type DB snakker vi om?
Avatar billede overchord Nybegynder
17. december 2003 - 13:54 #4
sorry - MYSQL :
Eksporter excel-arket til en csv eller text fil og importer
Avatar billede asgerz.dk Nybegynder
17. december 2003 - 13:54 #5
mysql
Avatar billede overchord Nybegynder
17. december 2003 - 13:57 #6
bruger du phpmyadmin? Det er nemt at importere en tekst-fil enten til en nye eller eksisterende tabel derfra.
Avatar billede asgerz.dk Nybegynder
17. december 2003 - 13:58 #7
Nej jeg sidder med mysql control center hvilket jeg kan se ikke er helt optimalt
Avatar billede mtrolle Nybegynder
17. december 2003 - 14:07 #8
hvis du i exel omdanner indholdet til en textfil kan du derefter bruge noget ala
$fil = fopen("excel.txt",r);
$linjer = explode("\n", $fil);
for ($i = 1; $i < count($linier); $i++) {
$felter = explode("\t", $linjer); //jeg kunne forestille mig den er delt op med tabs i en txt fil.

//herefter er $felter[0] lig med det første punkt i filen $felter[1] næste osv.
mysql_query("INSERT INTO `postnr`bla bla");
}

//mtrolle - phphelp.dk
Avatar billede mtrolle Nybegynder
17. december 2003 - 14:07 #9
$linier skal hedde det samme alle steder naturligvis ;)
Avatar billede mtrolle Nybegynder
17. december 2003 - 14:09 #10
og excel.txt skal ligge i samme mappe som din scriptfil her gør!
Avatar billede overchord Nybegynder
17. december 2003 - 14:10 #11
ok kender ikke rigtig noget til control-center, men det kan jo ogsaa goeres manulet :-):

Princippet er at bruge mysql's load data infile kommando
Hvis din text/ascii fil ligger paa samme server kan du bruge

LOAD DATA local INFILE 'Dinfil.txt' INTO TABLE Dintabel FIELDS TERMINATED BY ","
Avatar billede asgerz.dk Nybegynder
17. december 2003 - 14:15 #12
Jeg prøve lige de forskellige versioner... vender tilbage med point når problemet er løst!
Avatar billede asgerz.dk Nybegynder
30. marts 2004 - 14:30 #13
Har selv skaffet mig af med problemet!
Avatar billede overchord Nybegynder
30. marts 2004 - 22:26 #14
Jamen det er jo fint nok saa :-) Kunne du evt fortaelle hvad loesningen blev?
Avatar billede asgerz.dk Nybegynder
31. marts 2004 - 11:45 #15
Jeg fik udleveret en fil hvor der var skrevet

Create blah blah blah...
Insert into blah (Postnr, by) values (xxxx, xxxxxxx);
Insert into blah (Postnr, by) values (xxxx, xxxxxxx);

en eller anden har kedet sig meget... men det virkede!
Avatar billede asgerz.dk Nybegynder
04. maj 2004 - 11:29 #16
prøver at lukke igen efter nedbrud!
Avatar billede kgp43 Nybegynder
29. august 2004 - 10:30 #17
mtrolle; Håber du stadig er aktiv hos exp :)
Håber det er okay, at jeg bringer denne gamle tråd op igen (brugte søge funktionen)


Dine kode:
$fil = fopen("excel.txt",r);
$linjer = explode("\n", $fil);
for ($i = 1; $i < count($linier); $i++) {
$felter = explode("\t", $linjer); //jeg kunne forestille mig den er delt op med tabs i en txt fil.

//herefter er $felter[0] lig med det første punkt i filen $felter[1] næste osv.
mysql_query("INSERT INTO `postnr`bla bla");
}

- Hvis du har 3 felter og 50 rækker i din csv fil. Det betyder så at cellerne kommer til at hedde $felter[1], $felter[2].. osv
Hvad gør du så når der skiftes linie? Bliver disse felter automatisk nulstillet eller overskrevet?
Avatar billede kgp43 Nybegynder
29. august 2004 - 10:30 #18
Jeg opretter et nyt spørgsmål :)
Avatar billede Ny bruger Nybegynder

Din løsning...

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.

Loading billede Opret Preview
Kategori
Computerworld tilbyder specialiserede kurser i database-management

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester