Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: mysql i zapis do plikow
Forum PHP.pl > Forum > Przedszkole
deejay3
witam,

mam dosc spora baze danych, powiedzmy 2tys rekordow. to musze zapisac do pliku, do jednego pliku to nie problem, tak mam zrobione, ale chcialbym podzielic ten odczyt na kilka(nascie) plikow po ustalonej ilsoci wpisow, powiedzmy 20 plikow po 100 wpisow w plikach zrzut1.txt, zrzut2.txt, ..., zrzut20.txt, tak, zeby za jednym kliknieciem "zapisz" pliki zapisywaly sie jeden po drugim aby na raz sciagnac poszatkowana cala baze. jak to okielznac? z gory dzieki za wszelkie sugestie.

obecnie mam zapis pliku:

  1. $f = @fopen( 'php://output', 'w' );
  2.  
  3. fwrite($f, $csvTitle . "\r\n");
  4.  
  5. foreach ($csvOutput as $line)
  6. {
  7. fwrite($f, $line . "\r\n");
  8. }
  9. fclose($f);
nospor
2tys rekordow to żadna spora baza.... to zaledwie mały pierdziuszek, ktory niesmialo probuje sie wydostac na zewnątrz.

Jak to zrobic? Normalnie, pobierasz se te rekordy z bazy i co 100 zmieniasz nazwe pliku na kolejną.
deejay3
Cytat(nospor @ 21.08.2014, 10:36:54 ) *
2tys rekordow to żadna spora baza.... to zaledwie mały pierdziuszek, ktory niesmialo probuje sie wydostac na zewnątrz.

Jak to zrobic? Normalnie, pobierasz se te rekordy z bazy i co 100 zmieniasz nazwe pliku na kolejną.


jak jeden rekord odczytuje 80 tabeli to jest to spore.... pojedynczy plik po zapisie ma 1,5MB... jak na tekstowy to nie malo...

normalnie rekordy mam pobrane, tak jak pisalem wyzej, a ze zmieniam sobie co 100... to wlasnie to o co mi chodzi i dlatego pisze na tym forum, bo nie wiem jak to zrobic i prosze o pomoc.
nospor
if ($i % 100 == 0) echo 'teraz zmien plik na kolejny';

gdzie $i zwiekszasz od 0 co jeden w swojej petli.
deejay3
a mozna cos blizej? bo nie do konca rozumeim ten zapis ;/ na codzien siedze bardziej w smarty i jQ, z obsluga plikow mam bardzo malo wspolnego, tak mi teraz wszyszlo i za bardzo nie moge tego okielznac. jak to mialo by sie do zapisu z powzszego mojego kodu? no i podstawa co zrobic z 'teraz zmien plik na kolejny' - jak to ugrysc zeby $f dopisywal kolejne liczby? oraz co dalej, bo wg powyzszego liczy od 0 do 100 a jak dalej z 100-200, 200-300..... ?
Turson
http://phpkurs.pl/operatory/ - modulo
nospor
Cytat
bo wg powyzszego liczy od 0 do 100 a jak dalej z 100-200, 200-300..... ?
Czemu uwazasz ze liczy od 0 do 100? Nie wiesz co robi dany kod, ale sobie coś radośnie zakładasz.... Programowanie nie polega na zakładaniu, tylko na wiedzeniu. Skoro nie wiesz to nie zakładaj :/
Podalem ci kod, ktory co 100 rekordow będzie cie o tym informowal. Ty jedynie masz do tego dopisac zmiane pliku - nic wiecej.
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.