affichage instantané

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : affichage instantané

Re: affichage instantané

par Tatinos » 05 mai 2010, 12:59

Super merci beaucoup ! :D

Re: affichage instantané

par stopher » 04 mai 2010, 19:28

Cela va dépendre aussi du navigateur ,

Chrome par exemple balance la sauce qu'à la fin compléte ( il posséde son propre buffer de sortie ) , alors que Firefox lui , fonctionne à merveille .
La configuration du serveur Web Apache IIS nginx ect .. peut aussi faire varier la façon dont est affiché le résultat .

Sinon , le code de Stealth35 est bien la bonne solution ...

Ch.

Re: affichage instantané

par stealth35 » 04 mai 2010, 15:53

PHP renvoie une page "finie". Ca ne marchera pas, même avec des flush.
si
echo '<pre>';	
ob_end_flush();
	
for($i = 0; $i < 10; $i++)
{		
	echo $i . PHP_EOL;		
	sleep(1);
	flush();
}

Re: affichage instantané

par macgawel » 04 mai 2010, 15:47

Bonjour.

Pas certain d'avoir bien compris, mais bon...
L'idée est d'avoir une page sur laquelle il y a le résultat du calcul 1, puis une fois qu'il est fini celui du calcul 2, c'est bien ça ?

PHP renvoie une page "finie". Ca ne marchera pas, même avec des flush.

La solution, c'est AJAX :
Un javascript va demander la page PHP qui fait le premier calcul.
Une fois le calcul terminé, PHP renvoie le résultat, JS l'affiche puis demande la page qui fait le deuxième calcul.
Une fois le calcul terminé, PHP renvoie le résultat, JS l'affiche.

affichage instantané

par Tatinos » 04 mai 2010, 15:10

Bonjour,
Je souhaiterais que mes résultats s'affichent au fur et à mesure qu'ils sont calculés. J'ai essayé tous les flush possibles, mais rien ne marche (ni sous IE ni sous FF).

$aclcul1=Calcul1();
echo $calcul1;
flush();

$calcul2=Calcul2():
echo $calcul2;
flush();

Y'a-t-il un autre moyen de faire ceci ? et qui marche ? :D
Merci beaucoup.
Bonne aprem !