Novo

Forum kao aplikacija na telefonu

Dodajte forum na početni ekran i koristite ga kao aplikaciju, sa menijem na dnu ekrana.

  • 10 odgovora
  • 12.696 pregleda

Najnovija ↓

Parsiranje *.txt fajla 07.02.2004. u 20:01 · pre 277 meseci #1
Pozdrav, imam ovakvu strukturu podataka:

"8","Art. 1","KOM","34,51","27,00","20","1",""
"10","Art. 2","KOM","0,00","0,95","1","1",""
"11","Art. 3","KOM","0,00","115,41","6","0",""

ja bih trebao da napisem skript koji ce citati red po red
i dodavati podatke u mysql tabelu.

npr. 8 -> Sifra, Art.1 -> Naziv_art, KOM -> Jed_mere, itd...

Hvala vam unpared!
Re: Parsiranje *.txt fajla 07.02.2004. u 22:32 · pre 277 meseci #2
trebalo bi da ti ovo obavi posao:

$file = file("ime_fajla.txt");//otvoris fajl
foreach ($file as $line){ //citas red po red
$data = explode(",", $line); //razdvojis na reci
// prvi clan ti je $data[0], a ti ih imas 7 ukupno, tj $data[0],...$data[6]
for($i=0;$i<=6;$i++)$data[$i]=str_replace("\"","",$data[$i]);//ovo ti skida prvi i zadnji znak navoda
//sada upises u bazu
mysql_query("insert into $ime_tabele(polje1,polje2,polje3,polje4,polje5,polje6,polje6) values('$data[0]','$data[1]','$data[2]','$data[3]','$data[4]','$data[5]','$data[6]')");
}
Potpis
http://www.menjamauto.com/
Re: Parsiranje *.txt fajla 08.02.2004. u 02:18 · pre 277 meseci #3
Nekidan sam baš napisao skritput koja radi sa baš takvom strukturom fajlova (u mom slučaju OO programa za radi sa tabelama - *.cvs). Moj ne upisuje u SQL nego generiše html file, ali lako se prepraviti:

Code:

<?php

$file = "OOcvs.txt";

$fp = fopen($file, 'r');
if(!$fp)
{
    die("Ne mogu da otvorim file: $fp");
}
else
{
    $con = fread($fp, filesize($file));
    
    $con_red = explode("\n", $con);
    $num_red = count($con_red);
    echo("<table border=\"0\" cellspacing=\"0\" cellpading=\"0\"><tr><td bgcolor=\"#c0c0c0\">");
    echo("<table border=\"0\" cellspacing=\"1\" cellpadding=\"2\">");
    for($i = 0; $i <= $num_red-2; $i++)
    {
        print "\n";
        echo("<tr>");
        $cell = explode(",", $con_red[$i]);
        $numcell = count($cell);
        
        for($n = 0;$n <= $numcell-1; $n++)
        {
            print "\n";
            $brb = "";
            $strg = $cell[$n];
            $strg = ereg_replace('"', $brb, $strg);
            echo("<td align=\"center\" bgcolor=\"#FFFFFF\">$strg</td>");
            
        }
        echo("</tr>");
    }
    echo("</table>");
    echo("</td></tr></table>");
    
}

?>


Sada samo umjesto echo radi svoj SQL query.
Broj redova, i dužina nije važna.
Potpis
tu nema kašike....
Re: Parsiranje *.txt fajla 08.02.2004. u 12:54 · pre 277 meseci #4
Citat:
milanvla:
trebalo bi da ti ovo obavi posao:

$file = file("ime_fajla.txt");//otvoris fajl
foreach ($file as $line){ //citas red po red
$data = explode(",", $line); //razdvojis na reci
// prvi clan ti je $data[0], a ti ih imas 7 ukupno, tj $data[0],...$data[6]
for($i=0;$i<=6;$i++)$data[$i]=str_replace("\"","",$data[$i]);//ovo ti skida prvi i zadnji znak navoda
//sada upises u bazu
mysql_query("insert into $ime_tabele(polje1,polje2,polje3,polje4,polje5,polje6,polje6) values('$data[0]','$data[1]','$data[2]','$data[3]','$data[4]','$data[5]','$data[6]')");
}


Hvala, ali tvoj code mi pravi problem, naime on doda sve lepo u polja
ali predzadnji i zadnji podatak dodaje u formatu "0 i "" jedino je u tome problem. Ima li resenja?
Re: Parsiranje *.txt fajla 08.02.2004. u 12:56 · pre 277 meseci #5
Citat:
dr ZiDoo:
Nekidan sam baš napisao skritput koja radi sa baš takvom strukturom fajlova (u mom slučaju OO programa za radi sa tabelama - *.cvs). Moj ne upisuje u SQL nego generiše html file, ali lako se prepraviti:

Code:

<?php

$file = "OOcvs.txt";

$fp = fopen($file, 'r');
if(!$fp)
{
    die("Ne mogu da otvorim file: $fp");
}
else
{
    $con = fread($fp, filesize($file));
    
    $con_red = explode("\n", $con);
    $num_red = count($con_red);
    echo("<table border=\"0\" cellspacing=\"0\" cellpading=\"0\"><tr><td bgcolor=\"#c0c0c0\">");
    echo("<table border=\"0\" cellspacing=\"1\" cellpadding=\"2\">");
    for($i = 0; $i <= $num_red-2; $i++)
    {
        print "\n";
        echo("<tr>");
        $cell = explode(",", $con_red[$i]);
        $numcell = count($cell);
        
        for($n = 0;$n <= $numcell-1; $n++)
        {
            print "\n";
            $brb = "";
            $strg = $cell[$n];
            $strg = ereg_replace('"', $brb, $strg);
            echo("<td align=\"center\" bgcolor=\"#FFFFFF\">$strg</td>");
            
        }
        echo("</tr>");
    }
    echo("</table>");
    echo("</td></tr></table>");
    
}

?>


Sada samo umjesto echo radi svoj SQL query.
Broj redova, i dužina nije važna.


Evo sta dobijem kad pokrenem ovu skriptu:

Code:

Parse error: parse error in /var/www/htdcos/parser.php on line 3
Re: Parsiranje *.txt fajla 08.02.2004. u 15:58 · pre 277 meseci #6
???

Kod mene sve radi kako treba. Taj error vjerovatno ce ti se pokazati samo kada nisi zatvorio neki navod, tj mozda to je u kopiranju nije prekopirao ; ili tako nesto.

Kada si stavio svoje ime fajla, vidi da li si zavtvorio sa ";".
Potpis
tu nema kašike....
Re: Parsiranje *.txt fajla 08.02.2004. u 22:27 · pre 277 meseci #7
Citat:
dr ZiDoo:
???

Kod mene sve radi kako treba. Taj error vjerovatno ce ti se pokazati samo kada nisi zatvorio neki navod, tj mozda to je u kopiranju nije prekopirao ; ili tako nesto.

Kada si stavio svoje ime fajla, vidi da li si zavtvorio sa ";".


Sve sam lepo uradio, ali ne vredi, opet nece, no ne mari, prepravio sam prvi code i sad sve lepo radi. Hvala jos jednom.
Re: Parsiranje *.txt fajla 09.02.2004. u 01:40 · pre 277 meseci #8
pa citas li error?! treca linija ti je naziv fajla, ti ga nemas i tako da nemas sta da parsujes...
Potpis
"nice town, i'll take it..."
Re: Parsiranje *.txt fajla 09.02.2004. u 13:28 · pre 277 meseci #11
mozda je bas zato php toliko highhighhighhighhighhighhigh level programski jezik :D
Potpis
"nice town, i'll take it..."
Prijavite se da biste odgovorili u ovoj temi.PrijavaRegistracija

Premeštanje teme