Avatar billede andersthingholm Nybegynder
02. november 2008 - 20:04 Der er 3 kommentarer og
1 løsning

Tekstfil til array

Hej,

Er der nogen, der kan hjælpe mig med at lave en stump kode, som åbner en SQL fil og indlæser værdierne fra hver linje i en array?

Her er et eksempel på indhold (de første 3 rows).

På forhånd tak.

VH

Anders

INSERT INTO `articles` VALUES (1, 3, 'Rotating sunrays animation', 'How to create a crazy rotating sunray animation with adobe flash.', 'http://www.good-tutorials.com/images/icons/29086.jpg', 'jonespr', '1214303402', 'http://www.good-tutorials.com/track/29086', 'rotating-sunrays-animation', '2008-06-26 00:41:33', 0);
INSERT INTO `articles` VALUES (2, 3, 'Picture me effect', 'This thoroughly explained, detailed lesson will show you how to create attractive picture effect using some special flash tips and tricks.', 'http://www.good-tutorials.com/images/icons/29001.jpg', 'Kreso', '1214002802', 'http://www.good-tutorials.com/track/29001', 'picture-me-effect', '2008-06-26 00:41:33', 0);
INSERT INTO `articles` VALUES (3, 3, 'Circular image presentation by mask', 'Using this tutorial, you will see how to create very practical image presentation using a mask.', 'http://www.good-tutorials.com/images/icons/28952.jpg', 'Kreso', '1213999202', 'http://www.good-tutorials.com/track/28952', 'circular-image-presentation-by-mask', '2008-06-26 00:41:33', 0);
Avatar billede erikjacobsen Ekspert
02. november 2008 - 20:52 #1
Avatar billede arne_v Ekspert
02. november 2008 - 21:08 #2
<?php
function xparse($data, $sep, $q) {
    $item = '';
    $res = array();
    $intext = false;
    for($i = 0; $i < strlen($data); $i++) {
        switch($data[$i]) {
            case $sep:
                if($intext) {
                    $item .= $data[$i];
                } else {
                    $res[] = $item;
                    $item = '';
                }
                break;
            case $q:
                $intext = !$intext;
                break;
            default:
                $item .= $data[$i];
                break;
        }
    }
    $res[] = $item;
    return $res;
}

function parse($line) {
    $data = str_replace(');', '', str_replace('INSERT INTO `articles` VALUES (', '', $line));
    //hvis din PHP har str_getcsv så brug den - ellers brug ovetstående xparse
    //return str_getcsv($data, ',', "'");
    return xparse($data, ',', "'");
}

$fp = fopen('C:\sqldata.txt', 'r');
while($line = fgets($fp)) {
    $flds = parse($line);
    foreach($flds as $fld) {
        echo '#' . $fld;
    }
    echo "<br>\r\n";
}
fclose($fp);
?>
Avatar billede andersthingholm Nybegynder
02. november 2008 - 21:41 #3
Super, arne_v - lige i øjet!

Smider du et svar?
Avatar billede arne_v Ekspert
02. november 2008 - 23:22 #4
kommer her
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