Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [MySQL][PHP]Generowanie raportów
atze_
post
Post #1





Grupa: Zarejestrowani
Postów: 7
Pomógł: 0
Dołączył: 2.03.2008

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


Mam problem z generowaniem raportów. Ograniczenia to czas pracy skryptu i pamięć. Do pobrania są rekordy z całego roku z dodatkowymi informacjami, tzn. zamówienie + sposób sprzedaży, dane z licytacji, awizacja samochodu, wagi wjazdowe i wyjazdowe, załadunek, itp.

Moja koncepcja to odpalenie skryptu, zliczenie ilości rekordów do obrobienia, wyświetlenie informacji o czasie przetwarzania, obrobienie 100 rekordów, zakończenie pracy skryptu i ponowne autoodświeżenie z odrobieniem kolejnych 100 rekordów i tak aż do końca. Mam problem z odkładaniem danych. Nie mogę przy każdym obrobieniu danych otwierać wcześniej obrobionego pliku i dopisywać do niego nowych danych, bo brakuje mi pamięci. Potrzebuje dopisywać do pliku dane bez wczytywania całej zawartości do pamięci. Tak, aby potem podać link do pobrania tego pliku.

Druga sprawa to tak zgromadzone dane muszę wyeksportować do ecxel'a. I tu ponownie mam problem. Obecnie używam phpexcel. Tworzy on cały plik excel w pamięci. Przy tak dużej ilości danych nie utworzy mi on excel'a do pobrania, skończy się pamięć. Potrzebuje rozwiązania, które będzie dopisywać dane do pliku, który następnie będzie można pobrać jako excel.
Jakby dało się jszeszcz łączyć komórki i ustalać format (tekst, cyfra) to było by super.

Powiedzcie jakieś rozwiązanie. Głównie z tym tworzeniem ecxel'a.
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 1)
jacobson
post
Post #2





Grupa: Zarejestrowani
Postów: 468
Pomógł: 36
Dołączył: 14.12.2010

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


W pierwszym przypadku jeżeli ręcznie to ustawiaj flagę na każdym rekordzie i limituj np do 100 sprawdzając tylko czy rekord nie ma już flagi ustawionej.

Możesz też na zakończenie działania skryptu w którym np ustawisz limit na 100 uruchomić ten sam skrypt jeszcze raz (np przez shell_exec) i tak nie musisz sam odpalać cały czas skryptu.

W przypadku excela to zasada jest prawie taka sama. Limitujesz rekordy np do 100, wpisujesz je do excela i zapisujesz. Przy następnym przejściu pętli zamiast tworzyć nowy excel otwierasz po prostu ten poprzedni i w kolejnym polu (limit + 1) wpisujesz kolejne dane.

Niestety nie ma więcej informacji, żeby pomóc (IMG:style_emoticons/default/smile.gif)
Go to the top of the page
+Quote Post

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

 



RSS Aktualny czas: 22.08.2025 - 11:43