Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP][csv]zrzut tabeli mysql do pliku csv na dysku użytkownika
Forum PHP.pl > Forum > PHP
maclast
Cześć,

Poszukałem na forum i znalazłem rozwiązanie mojego problemu: czyli zrzut tabeli do pliku csv.
Wiem, że można to zrobić zapytaniem sql albo bawiąc się funkcją fputcsv.

ale mam jeszcze jeden powiązany z tym problem, którego rozwiązać na razie nie potrafię.

Chodzi mi o to, że user będzie miał możliwość filtrowania danych w danej tabeli i chciałbym, żeby po naciśnięciu jakiegoś butona mógł zapisać ten wynik w pliku csv na dysku. (jakieś okienko z podaniem ścieżki itp).

Czy da się tak zrobić używając tylko PHP?

(obecnie mam tak zrobione, że za każdym razem jak dokonuje filtracji, dane są zapisywane do pliku csv i na stronie z wynikiem filtrowania umieszczam link do pliku, ale to takie mało eleganckie rozwiązanie... do tego jak dwóch userów używa aplikacji to musza oddzielnie pracować na własnych plikach - i server rzeźbi dyskiem :/)

Pozdrawiam.


wookieb
Tak da się. Poczytaj o force download
maclast
Dzięki.

To jeszcze jedno drobne pytanie:
Poczytałem o tym i zauważyłem, że istnieje możliwość, że razem z plikiem mogą iść jakieś html'owe śmieci, więc całą konstrukcję "force download" umieściłem w oddzielnym pliku/skrypcie.
Pytanie następujące: czy da się wywołać skrypt (który jest w oddzielnym pliku) nie wychodząc z podstrony?
tzn. użyłem konstrukcji <form> i submit buttona... ale po kliknięciu wyświetliło mi skrypt obsługujący (czyli czystą białą kartkę... co też w sumie jest oczywiste przy submicie winksmiley.jpg
a chciałbym, żeby pozostał na stronie z której skrypt jest wywoływany (w sumie można by wrzucić http_redirect ale może jest coś ładniejszego?)


PS. jeszcze jedna sprawa. fputcsv jest standardową funkcją dla php5? bo mi coś krasnolud jęczy, że nie ma takiej funkcji :/
Fatal error: Call to undefined function: fputcsv() in c:\usr\krasnal\www\testdb\force_download_csv.php on line 17

pozdrawiam,
Maciek
wookieb
Cytat(maclast @ 14.09.2010, 12:02:53 ) *
tzn. użyłem konstrukcji <form> i submit buttona... ale po kliknięciu wyświetliło mi skrypt obsługujący (czyli czystą białą kartkę... co też w sumie jest oczywiste przy submicie winksmiley.jpg
a chciałbym, żeby pozostał na stronie z której skrypt jest wywoływany (w sumie można by wrzucić http_redirect ale może jest coś ładniejszego?)

W firefoxie otworzy się okienko do zapisu i pozostaniesz na aktualnej stronie z której przybyłeś. Innej opcji na force download nie ma.

Cytat
PS. jeszcze jedna sprawa. fputcsv jest standardową funkcją dla php5? bo mi coś krasnolud jęczy, że nie ma takiej funkcji :/
Fatal error: Call to undefined function: fputcsv() in c:\usr\krasnal\www\testdb\force_download_csv.php on line 17

http://pl.php.net/manual/en/function.fputcsv.php od 5.1.0 i nie używał krasnala bo to shit na kółkach.
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.