Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: sleep czy nie
Forum PHP.pl > Forum > PHP
radex
Otoz mam pytanie czy mozna wykorzystac funkcje sleep() i jezeli tak to jak aby roziwzac nastepujacy problem: Otoz na stronie twoprzy mi sie tabelka, ale wymaga ona bardzo duzo zapytan do bazy danych i w trakcie jej tworzenia ogladam tylko niebieskie tlo, a potem tabelke. Jak zrobic aby w trakcie tworzenia tabelki byl napis np. please waiy, a dopiero pozniej jak stworzy sie tablelka wyswietlila sie.
Dzieki za pomoc.
cichy
za pomoca php nie wykonalne...
jesli juz to JS ale ja nie umiem smile.gif

Pozdro
halfik
albo w JAVA zrob sobie taki ladny pasek postepu w % winksmiley.jpg

A PHPie tego sie nie da zrobic, bo przeciez skrypt jest wkonywany po stronie serwera, a pzegladarka otrzymuje juz wynik dzialania skryptu w postaci - zazwyczaj strony html.
Yarecki
Mozna strone podzielic na 2 ramki. U gory w html'u wyswietlasz komunikat, a na dole php meczy sie z baza danych.
DeyV
wystarczy na początku 'strony' uruchomić jakiś skrypt js, który będzie np. wyświetlał warstę z napisęm 'proszę czekać'.
Następnie ładujesz resztę - a na koniec, w ostatnich liniach kodu, wywołujesz funkcję js ukrywającą tą warstwę z komunikatem.
Można też użyć onLoad w body.
Bakus
u mnie na stronie działa coś takiego... wykorzystałem funkcje [manual:5a49a12496]ob_start[/manual:5a49a12496], [manual:5a49a12496]ob_flush[/manual:5a49a12496] i [manual:5a49a12496]ob_end_flush[/manual:5a49a12496] oraz warstwę w JS...[php:1:5a49a12496]<?php
function progress_text($t="")
{
print '<SCRIPT TYPE="text/javascript" LANGUAGE="JavaScript">' . "n";
print '<!--' . "n";
if(empty($t))
{
print "t" . 'progress_text('<TABLE ALIGN="CENTER" WIDTH="100%" CELLSPACING="0" CELLPADDING="0" BORDER="0"><TR><TD ALIGN="CENTER">' . $t . '</TD></TR></TABLE>');' . "n";
}else{
print "t" . 'progress_text('<TABLE ALIGN="CENTER" WIDTH="100%" CELLSPACING="0" CELLPADDING="0" BORDER="0"><TR><TD ALIGN="CENTER">' . $t . '</TD></TR></TABLE>');' . "n";
}
print '//-->' . "n";
print '</SCRIPT>' . "n";
@ob_flush();
}
?>[/php:1:5a49a12496]W HEAD mam:[xml:1:5a49a12496]
<SCRIPT TYPE="text/javascript" LANGUAGE="JavaScript">
function progress_text(txt)
{
if (!document.layers&&!document.all) return;
if (document.layers)
{
document.layers.progress_info.document.write(txt);
document.layers.progress_info.document.close();
}else if (document.all)
progress_info.innerHTML=txt;
}
}
</SCRIPT>[/xml:1:5a49a12496]W BODY wstawiam:[xml:1:5a49a12496]<DIV id="progress_info"></DIV>[/xml:1:5a49a12496]
przed wykonywaniem długiego zadania wstawiam:[php:1:5a49a12496]<?php
progress_text("<B>Proszę czekać...</B><BR>Trwa generowanie strony...");
?>[/php:1:5a49a12496]...i powykonaniu wszystkiego wstawiam:[php:1:5a49a12496]<?php
progress_text();
?>[/php:1:5a49a12496]
Heh... ale kodu nawpisywałem... winksmiley.jpg mam nadzieję, że się połapiesz... winksmiley.jpg jak nie to pisz...
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.