Avatar billede d.kryger Praktikant
10. november 2004 - 09:49 Der er 6 kommentarer og
1 løsning

Indsætte semikolonsepareret fil i sql

Hej eksperter

Kan det lade gøre at lave en side, hvor man kan vælge en semikolonsepareret fil og så indsætter den dataerne (i dette tilfælde en masse telefonnumre) i en sql-database?
Avatar billede iss Novice
10. november 2004 - 11:22 #1
Hvis det er det eneste, så kan du hurtigt lave det selv, med file og en while løkke.
Avatar billede d.kryger Praktikant
10. november 2004 - 11:25 #2
Det er det eneste, men jeg ved ikke særlig meget om det, kan du evt. komme med et eksempel?
Avatar billede iss Novice
10. november 2004 - 11:33 #3
Går ud fra data ser sådan ud:
12345678;\n\r
23456789;\n\r
osv osv.

dbcon();

$file = file("tlfnr.txt");

foreach ($file as $nummer) {
    $nummer = str_replace(";\n\r", "", $nummer);
    mysql_query("INSERT INTO db (nummer) VALUES ($nummer)");
}
Avatar billede olebole Juniormester
10. november 2004 - 13:18 #4
<ole>

Der er såmænd også en funktion, der er beregnet til det:
  http://dk2.php.net/manual/en/function.fgetcsv.php

/mvh
</bole>
Avatar billede d.kryger Praktikant
10. november 2004 - 13:20 #5
Ok, tak for det... Kan du komme med et eksempel til mig?
Avatar billede iss Novice
10. november 2004 - 13:30 #6
Hvis der er en kolonne med telefon nummere, er fgetcsv bare lidt overkill?
Avatar billede olebole Juniormester
23. maj 2005 - 18:51 #7
Jamen, hvis overkill skal undgåes, er det da ikke smart at bruge en binary-safe funktion til at læse en ASCII-fil:

dbcon();

$file = explode("\r\n", file_get_contents("tlfnr.txt"));

foreach ($file as $nummer) {
    $nummer = str_replace(";", "", trim($nummer));
    mysql_query("INSERT INTO db (nummer) VALUES ($nummer)");
}

- og når linieskift skal fjernes, er det vigtigt at kalde carriage-return og line-feed i rigtig rækkefølge: '\r\n'  :)
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
Vi tilbyder markedets bedste kurser inden for webudvikling

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