/ Forside / Teknologi / Udvikling / PHP / Nyhedsindlæg
Login
Glemt dit kodeord?
Brugernavn

Kodeord


Reklame
Top 10 brugere
PHP
#NavnPoint
rfh 3959
natmaden 3372
poul_from 3310
funbreak 2700
stone47 2230
Jin2k 1960
Angband 1743
Bjerner 1249
refi 1185
10  Interkril.. 1146
Please wait side...
Fra : Brian R


Dato : 17-05-03 07:33

En simpel ting som denne burde da virke ik ?

<?php
$i=0;
set_time_limit(10);
print("Please wait for 10 seconds while we're processing your request...");
sleep(10);
$query="insert into......";
?>

..... men det gør den bare ik !
Er der noget jeg mangler eller er har det noget med cachen at gøre ?

Det der sker er at siden blot loader og lidt efter skriver "Please wait..."

Er der nogen der kan hjælpe her ?

På forhånd tak
Brian R



 
 
Brian R (17-05-2003)
Kommentar
Fra : Brian R


Dato : 17-05-03 08:30

"Brian R" wrote in message ...

> <?php
> $i=0;
> set_time_limit(10);
> print("Please wait for 10 seconds while we're processing your
request...");
> sleep(10);
> $query="insert into......";
> ?>

Nu har jeg nået til at der skal bruges flush(); ... men den kan heller ik
det den burde....

Et hurtigt lille eksempel på at det ik virker er dette :

<?
echo "<span id=\"processing\">analysing something big...</span>";
flush();
$query = mysql_query("SELECT * FROM db.big_table");
while($row = mysql_fetch_row ($query)){
echo "<script>processing.style.display='none'</script>";
}
?>

flush() burde jo gøre således at
echo "<span id=\"processing\">analysing something big...</span>";
bliver vist som noget af det første før siden går gennem while() .... eller
er det mig der har misforstået noget ?



Johan Holst Nielsen (18-05-2003)
Kommentar
Fra : Johan Holst Nielsen


Dato : 18-05-03 20:46

> flush() burde jo gøre således at
> echo "<span id=\"processing\">analysing something big...</span>";
> bliver vist som noget af det første før siden går gennem while() .... eller
> er det mig der har misforstået noget ?


Du har helt ret... men husk at læse PHP manualen RIGTIG grundig...
Note: flush() has no effect on the buffering scheme of your webserver or
the browser on the client side.
http://dk.php.net/flush

Derfor virker det ikke efter hensigten... en simpel løsning (som jeg
plejer at bruge) er at smide en masse tom luft istarten af scriptet.....
et eksempel...


<?php
//KILL THE BUFFER :)
echo ' ';
echo ' ';
echo ' ';
echo ' ';
echo ' ';
echo ' ';
//MISSION ACCOMPLISHED

echo 'Print 1<br>';
flush();
sleep(3);
echo 'Print 2<br>';
flush();
sleep(3);
echo 'Print 3<br>';
flush();
sleep(3);
echo 'Print 4<br>';
?>

Så skulle det virke :)

mvh
Johan


Brian R (21-05-2003)
Kommentar
Fra : Brian R


Dato : 21-05-03 03:43

"Johan Holst Nielsen" wrote in message ...

> Derfor virker det ikke efter hensigten... en simpel løsning (som jeg
> plejer at bruge) er at smide en masse tom luft istarten af scriptet.....
> et eksempel...

Mange tak... Det virkede fint :)



Søg
Reklame
Statistik
Spørgsmål : 177559
Tips : 31968
Nyheder : 719565
Indlæg : 6408936
Brugere : 218888

Månedens bedste
Årets bedste
Sidste års bedste