Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.

Export podataka iz mySql baze uz pomoc php-a!Pomoc

[es] :: PHP :: Export podataka iz mySql baze uz pomoc php-a!Pomoc

Strane: 1 2

[ Pregleda: 4991 | Odgovora: 23 ] > FB > Twit

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

Miroslav Ćurčić
ex mVeliki
Novi Sad

Član broj: 19034
Poruke: 1118
*.dynamic.sbb.co.yu.



+19 Profil

icon Re: Export podataka iz mySql baze uz pomoc php-a!Pomoc31.01.2007. u 09:43 - pre 209 meseci
Ajd onda ´vako:
Code:
function ExplodeSql($sql) {
        if(!is_array($sql)) $sql= explode("\n", $sql);
        $out= array();
        $p= 0;
        $size= count($sql);
        $Terms= array('`',"'",'"');
        while ($p<$size) {
            $line= $sql[$p];
            $tline= trim($line);
            if((!$tline)or($tline[0]=='-')) {$p++; continue;} // prazan red ili komentar
            // ako je stig'o dovde onda počinje neka instrukcija
            $instr= '';
            $InString= false;
            do {
                $instr .= $line;
                // zavrsava li se red usred nekog stringa (enter usred stringa)
                for($x=0;$x<strlen($tline);$x++) {
                  if(($InString)and($tline[$x]==$Term)) { // izlazimo iz stringa
                    if(($x+1<strlen($tline))and($tline[$x+1]==$Term)) continue; // dolazi multiquote
                    $z=0;
                    while(($x-$z-1>$EntryPos)and($tline[$x-$z-1]==$Term)) $z++; 
                    while(($x>$z)and($tline[$x-$z-1]=='\\')) $z++; // a možda je slešovan
                    if($z%2==0) {$InString=false; continue;}
                  }
                  if((!$InString)and(in_array($tline[$x],$Terms))) // ulazimo u string
                  {$Term=$tline[$x]; $EntryPos=$x; $InString=true; continue;}
                    }
                $FoundSemicolon= (!$InString) && (substr($tline,-1)==';');
                $p++;
                if($p>=$size) break;
                $line= $sql[$p];
                $tline= trim($line);
            } while (($InString) || (!$FoundSemicolon));
            $out[]= $instr;
        }
        return $out;
    }
$txt= implode('', file('bekap.sql'));
$txt= iconv("ISO-8859-2", "UTF-8", $txt);
$instrukcije= ExplodeSql($txt);
//...
Preimenovao sam funkciju jer se drugačiji parametar prosleđuje (sadržaj bekapa a ne naziv fajla), pa da ne bude zabune.
"The quieter you become, the more you are able to hear."
Blog | PowerCMS
 
Odgovor na temu

dootzky
Programmer, PHP, Python, web development
beograd

Član broj: 85021
Poruke: 134
*.ewepc.net.



+1 Profil

icon Re: Export podataka iz mySql baze uz pomoc php-a!Pomoc31.01.2007. u 10:10 - pre 209 meseci
lepo lepo.. radi se radi, to je najbitnije !

@mVeliki
- testirao sam svoju funkciju na realnoj bazi, i uopste ne puca niti se zbunjuje kada naleti na znak "\n".
mozda si mislio da ce da pukne u slucaju da je "red" u tekst fajlu predugacak, pa se polomi na dva? ne verujem da ce se zbuniti ni tada, jer se "eol" u MySQLu obelezava drugacije nego u fajl strukturi, a funkcija "fgets" bi trebala da cita sve do fajl-eol znaka. tako da cenim da ce raditi, ali mozda si u pravu, valjalo bi to jos testirati (avaj, ovo sam napisao ionako za svega par minuta, no debuggin', no nuthin')

hvala za komentar tho'
poz,
dootzky
 
Odgovor na temu

nezki
Miodrag Lapcevic
Beograd

Član broj: 101503
Poruke: 438
212.62.55.*

Sajt: www.websolutions.co.rs


Profil

icon Re: Export podataka iz mySql baze uz pomoc php-a!Pomoc31.01.2007. u 12:01 - pre 209 meseci
"Ala je opravio svaka mu cast... "
E pa ljudovi sta da vam kazem,da mogu da atachujem jednu gajbu veltinsa uz poruku bilo bi super .Nadam ce da ce uskoro uredjivaci ovog foruma i to resiti u skorije vreme
Ovako samo mogu da se zahvalim svima.
Sada je sve ok.Radi kao zamu.
Eto ako neko bude imao slicnih problema ovde ima sve sto mu je potrebno da se ne muci.
Pozdrav svima.

djLapac



djLapac
 
Odgovor na temu

Miroslav Ćurčić
ex mVeliki
Novi Sad

Član broj: 19034
Poruke: 1118
*.dynamic.sbb.co.yu.



+19 Profil

icon Re: Export podataka iz mySql baze uz pomoc php-a!Pomoc31.01.2007. u 14:48 - pre 209 meseci
@dootzky:
Vidjao sam ranije bekape u kojima su se stringovi širili kroz više redova,
dakle nije bilo onog "\n" nego su se stvarno lomili kad naidju na enter.
Ako ti sam sebi pripremaš backup i slešuješ 'eol' (CRLF) u '\n' onda ne treba o tome brinuti.
U svakom slučaju podržan je i takav, ne-slešovan format.
Ne sećam se više, možda su starije verzije phpMyAdmina u pitanju.

"The quieter you become, the more you are able to hear."
Blog | PowerCMS
 
Odgovor na temu

[es] :: PHP :: Export podataka iz mySql baze uz pomoc php-a!Pomoc

Strane: 1 2

[ Pregleda: 4991 | Odgovora: 23 ] > FB > Twit

Postavi temu Odgovori

Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.