Thread View: pl.comp.lang.javascript
1 messages
1 total messages
Started by Leszek Zur
Fri, 17 May 2013 20:17
Uruchamianie JS po wczytaniu zipa
Author: 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
Thread Navigation
This is a paginated view of messages in the thread with full content displayed inline.
Messages are displayed in chronological order, with the original post highlighted in green.
Use pagination controls to navigate through all messages in large threads.
Back to All Threads