Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [MySQL][PHP]Generowanie raportów
Forum PHP.pl > Forum > Przedszkole
atze_
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.
jacobson
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 smile.gif
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.