Gå til innhold

Å gå fra flatfil til SQL


Gjest Slettet+6132

Anbefalte innlegg

Gjest Slettet+6132

Jeg satt her i dag og kjeda meg. Så har jeg en database med alle filmene mine i, som jeg bruker flatfil til. Har lenge hatt lyst til å legge den inn i en sql-database, slik at jeg kan ha flere muligheter.

 

Innholdet i flatfila er lagret slik:

2 Fast 2 Furious;XviD;avi;www.imdb.com/title/tt0322259/;Bra;2003
8Mile;-;CD;www.imdb.com/title/tt0298203/;-;2002
A Cinderella Story;XviD;avi;www.imdb.com/title/tt0356470/;Super;2004

Altså, Filmnavn, Codec, Format, Info-url, Liten "Omtale" og årstall. Filen har vel rundt 250 filmer.

 

Så når jeg skulle begynne å skrive om flatfila til add-fil til SQL (insert into blablabla) så kom jeg 5 linjer nedover før dette ble veldig kjedeligt. Så jeg spurte meg selv om det ikke fantes en annen glup måte. Og etter en stund hadde jeg et lite PHP-script klart som jeg vil dele med dere andre som kanskje vil overføre store flatfiler til SQL ;)

 

<?
header('Content-type: text');
$array = file("film.txt");
sort($array);
foreach ($array as $linje)
{
$del=split(";",$linje);
echo <<<end
INSERT INTO film VALUES (NULL,'$del[0]','$del[1]','$del[2]','$del[3]','$del[4]','$del[5]');\n
end;
}
?>

Så vil det bli printa ut noe som:

INSERT INTO film VALUES (NULL,'2 Fast 2 Furious','XviD','avi','www.imdb.com/title/tt0322259/','Bra','2003');
INSERT INTO film VALUES (NULL,'28 Days Later','XviD','avi','www.imdb.com/title/tt0289043/','-','2002');
INSERT INTO film VALUES (NULL,'8Mile','-','CD','www.imdb.com/title/tt0298203/','-','2002');

 

Dermed sparte jeg uendelig med tid... Ville bare dele denne lille koden med andre, i tilfelle noen andre trenger det :thumbup:

 

EDIT: Ingen leif er fri... Eller var det ingen er leif-fri? :p

Endret av Slettet+6132
Lenke til kommentar
Videoannonse
Annonse
Gjest Slettet+6132

Hehe, vet om den tråden, vil bare ikke rote opp i en gammel tråd ;)

 

La ut scriptet fordi jeg vet det er en del personer som vil gå over til SQL istedenfor flatfiler.

Lenke til kommentar

Opprett en konto eller logg inn for å kommentere

Du må være et medlem for å kunne skrive en kommentar

Opprett konto

Det er enkelt å melde seg inn for å starte en ny konto!

Start en konto

Logg inn

Har du allerede en konto? Logg inn her.

Logg inn nå
×
×
  • Opprett ny...