Article View: pl.comp.lang.javascript
Article #51298Uruchamianie JS po wczytaniu zipa
From: Leszek Zur
Date: Fri, 17 May 2013 20:17
Date: Fri, 17 May 2013 20:17
46 lines
2992 bytes
2992 bytes
Jest sobie strona1.php. Na niej formularz zawierający
<form action="strona2.php" target="_blank">
Klient wypełnia formularz i klika na submit.
Dane z formularza dostaje strona2.php, która generuje zapytanie SQL.
Jeśli w wyniku zapytania otrzymuję zero wyników to generuję komunikat w
html typu "Brak danych". Jeśli jest co najmniej 1 linia wyników to
generuję plik zip i wysyłam go do przeglądarki
Mam w strona2.php coś takiego:
if(!$ilosclinii) {
echo "Brak danych";
exit;
}
header("Content-type: application/zip");
header("Content-disposition: attachment; filename=plik.zip");
i tu generuje zipa i go wysyłam
Użyłem target="_blank" ponieważ dzięki temu jak user dostanie komunikat
"Brak danych" to strona1.php z formularzem mu nie znika tylko ma
wszystkie dane, które wypełnił i łatwiej mu je poprawić niż wpisywać od
początku.
Wszystko działa OK ale postanowiłem coś zmienić. Czasem z zapytania
dostaję bardzo dużo wyników co mi "zabija" serwer. Postanowiłem dodać
przykładowo do zapytania SQL warunek "LIMIT 1000". Plik jest dalej
generowany ale chciałbym aby user dowiedział się, że plik, który dostał
jest niepełny bo zawiera tylko 1000 wyników a jest ich więcej. Najlepiej
w formie javascriptowego okienka z komunikatem. Tylko nie wiem jak to
ładnie zrobić.
Najlepiej gdyby do tego zipa można było w nagłówkach odpowiedzi dodać
wywołanie odpowiedniego skryptu ale tu nie ma htmla więc pewnie tak nie
wywołam javascriptu.
Mogę dodać coś takiego:
if($ilosclinii > 1000) {
echo "Uwaga! wygenerowany wynik został obcięty do 1000 linii. Aby
pobrać plik kliknij <a href="strona3.php">tutaj</a>;
exit;
}
i strona3.php oddaje tego zipa. Jest tylko taki problem, ze muszę
przekazać wynik pomiędzy strona2.php a strona3.php
A może macie jakiś pomysł jak to zrobić lepiej ?
Leszek
Technical Details
Message-ID:
<kn639q$h06$1@news.vectranet.pl>Path:
mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!agh.edu.pl!news.agh.edu.pl!news.cyf-kr.edu.pl!news.nask.pl!news.nask.org.pl!news.unit0.net!news.glorb.com!npeer03.iad.highwinds-media.com!news.highwinds-media.com!feed-me.highwinds-media.com!nx01.iad01.newshosting.com!newshosting.com!newsfeed.neostrada.pl!unt-exc-01.news.neostrada.pl!news.vectranet.pl!.POSTED!not-for-mailShow Full Headers
Complete Article Headers
Path: mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!agh.edu.pl!news.agh.edu.pl!news.cyf-kr.edu.pl!news.nask.pl!news.nask.org.pl!news.unit0.net!news.glorb.com!npeer03.iad.highwinds-media.com!news.highwinds-media.com!feed-me.highwinds-media.com!nx01.iad01.newshosting.com!newshosting.com!newsfeed.neostrada.pl!unt-exc-01.news.neostrada.pl!news.vectranet.pl!.POSTED!not-for-mail From: Leszek Zur <leszek@USUNTO.teczowe.eu.org> Newsgroups: pl.comp.lang.javascript Subject: Uruchamianie JS po wczytaniu zipa Date: Fri, 17 May 2013 22:17:49 +0200 Organization: Vectra - http://www.vectra.pl Lines: 46 Message-ID: <kn639q$h06$1@news.vectranet.pl> NNTP-Posting-Host: 078088121201.dzierzoniow.vectranet.pl Mime-Version: 1.0 X-Trace: news.vectranet.pl 1368821882 17414 78.88.121.201 (17 May 2013 20:18:02 GMT) X-Complaints-To: usenet@news.vectranet.pl NNTP-Posting-Date: Fri, 17 May 2013 20:18:02 +0000 (UTC) User-Agent: Mozilla/5.0 (Windows NT 5.1; rv:17.0) Gecko/20130509 Thunderbird/17.0.6 X-Received-Bytes: 2771 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit