Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> mysql i zapis do plikow, duza baza danych i podzial na pliki przez fwrite, jak?
deejay3
post 21.08.2014, 10:33:24
Post #1





Grupa: Zarejestrowani
Postów: 28
Pomógł: 0
Dołączył: 24.03.2005

Ostrzeżenie: (0%)
-----


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);


Ten post edytował deejay3 21.08.2014, 10:37:32
Go to the top of the page
+Quote Post
nospor
post 21.08.2014, 10:36:54
Post #2





Grupa: Moderatorzy
Postów: 36 557
Pomógł: 6315
Dołączył: 27.12.2004




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ą.


--------------------

"Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista
"Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer

Go to the top of the page
+Quote Post
deejay3
post 21.08.2014, 10:40:56
Post #3





Grupa: Zarejestrowani
Postów: 28
Pomógł: 0
Dołączył: 24.03.2005

Ostrzeżenie: (0%)
-----


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.
Go to the top of the page
+Quote Post
nospor
post 21.08.2014, 10:42:28
Post #4





Grupa: Moderatorzy
Postów: 36 557
Pomógł: 6315
Dołączył: 27.12.2004




if ($i % 100 == 0) echo 'teraz zmien plik na kolejny';

gdzie $i zwiekszasz od 0 co jeden w swojej petli.


--------------------

"Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista
"Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer

Go to the top of the page
+Quote Post
deejay3
post 21.08.2014, 10:50:25
Post #5





Grupa: Zarejestrowani
Postów: 28
Pomógł: 0
Dołączył: 24.03.2005

Ostrzeżenie: (0%)
-----


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..... ?

Ten post edytował deejay3 21.08.2014, 10:53:03
Go to the top of the page
+Quote Post
Turson
post 21.08.2014, 10:52:56
Post #6





Grupa: Zarejestrowani
Postów: 4 291
Pomógł: 829
Dołączył: 14.02.2009
Skąd: łódź

Ostrzeżenie: (0%)
-----


http://phpkurs.pl/operatory/ - modulo
Go to the top of the page
+Quote Post
nospor
post 21.08.2014, 10:57:25
Post #7





Grupa: Moderatorzy
Postów: 36 557
Pomógł: 6315
Dołączył: 27.12.2004




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.


--------------------

"Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista
"Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer

Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Wersja Lo-Fi Aktualny czas: 14.08.2025 - 12:01