[php]Affichage progressif
Résolu/Fermé
Creutzou
Messages postés
550
Date d'inscription
lundi 17 mai 2010
Statut
Membre
Dernière intervention
30 mai 2013
-
17 mai 2011 à 10:40
Creutzou Messages postés 550 Date d'inscription lundi 17 mai 2010 Statut Membre Dernière intervention 30 mai 2013 - 17 mai 2011 à 17:17
Creutzou Messages postés 550 Date d'inscription lundi 17 mai 2010 Statut Membre Dernière intervention 30 mai 2013 - 17 mai 2011 à 17:17
A voir également:
- [php]Affichage progressif
- Easy php - Télécharger - Divers Web & Internet
- Affichage double ecran - Guide
- Windows 11 affichage classique - Guide
- Comment agrandir l'affichage de l'écran - Guide
- Problème affichage fenêtre windows 10 - Guide
21 réponses
Reivax962
Messages postés
3672
Date d'inscription
jeudi 16 juin 2005
Statut
Membre
Dernière intervention
11 février 2021
1 011
17 mai 2011 à 16:33
17 mai 2011 à 16:33
Bonjour,
L'Ajax pourrait te servir dans ce contexte.
Au lieu d'envoyer des "echo", ton script original écrit dans des fichiers (ou dans ta base de données).
Ta page appelle régulièrement (setInterval en javascript) un script Ajax, qui va regarder dans la base de données / les fichiers les dernières informations de sortie de ton script PHP, et les renvoie à ta page.
Dans ta page, tu traites ce texte de la façon dont tu veux en javascript. Tu peux l'afficher, l'utiliser pour remplir une barre de défilement, etc.
Xavier
L'Ajax pourrait te servir dans ce contexte.
Au lieu d'envoyer des "echo", ton script original écrit dans des fichiers (ou dans ta base de données).
Ta page appelle régulièrement (setInterval en javascript) un script Ajax, qui va regarder dans la base de données / les fichiers les dernières informations de sortie de ton script PHP, et les renvoie à ta page.
Dans ta page, tu traites ce texte de la façon dont tu veux en javascript. Tu peux l'afficher, l'utiliser pour remplir une barre de défilement, etc.
Xavier
patrice86
Messages postés
1377
Date d'inscription
dimanche 26 octobre 2008
Statut
Membre
Dernière intervention
26 novembre 2023
125
17 mai 2011 à 10:41
17 mai 2011 à 10:41
Tu places des echo à différent endroit de ton code qui affichent différente variable que tu veux
Creutzou
Messages postés
550
Date d'inscription
lundi 17 mai 2010
Statut
Membre
Dernière intervention
30 mai 2013
30
17 mai 2011 à 10:43
17 mai 2011 à 10:43
J'ai déjà essayé, mais cela ne m'affiche rien immédiatement.
patrice86
Messages postés
1377
Date d'inscription
dimanche 26 octobre 2008
Statut
Membre
Dernière intervention
26 novembre 2023
125
17 mai 2011 à 10:51
17 mai 2011 à 10:51
Tu peux copier ton code ou c'est trop long ?
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
Creutzou
Messages postés
550
Date d'inscription
lundi 17 mai 2010
Statut
Membre
Dernière intervention
30 mai 2013
30
Modifié par Creutzou le 17/05/2011 à 11:01
Modifié par Creutzou le 17/05/2011 à 11:01
il est un peu long mais la premiere ligne de mon code est
et il ne s'affiche qu'a la fin de l'execution du script avec tout le reste.
echo "pouet pouet";
et il ne s'affiche qu'a la fin de l'execution du script avec tout le reste.
patrice86
Messages postés
1377
Date d'inscription
dimanche 26 octobre 2008
Statut
Membre
Dernière intervention
26 novembre 2023
125
17 mai 2011 à 11:01
17 mai 2011 à 11:01
Quand tu dis tout le reste c'est à dire tout ton code ?
Creutzou
Messages postés
550
Date d'inscription
lundi 17 mai 2010
Statut
Membre
Dernière intervention
30 mai 2013
30
Modifié par Creutzou le 17/05/2011 à 11:07
Modifié par Creutzou le 17/05/2011 à 11:07
avec le reste des infos que j'affiche.
mon code est structuré de la façon suivante :
et donc, comme je disais, mon "Pouet pouet" s'affiche en même temps que l'echo de "fin d'execution du script".
(j'espere avoir été plus clair, sinon n'hesite pas à me le dire ;)
mon code est structuré de la façon suivante :
<?php echo "pouetpouet"; //instruction1 //affiche le resultats de l'instruction 1 //instruction 2 //affiche le resultats de l'instruction 2 //.... //.... echo "fin d'execution du script"; ?>
et donc, comme je disais, mon "Pouet pouet" s'affiche en même temps que l'echo de "fin d'execution du script".
(j'espere avoir été plus clair, sinon n'hesite pas à me le dire ;)
patrice86
Messages postés
1377
Date d'inscription
dimanche 26 octobre 2008
Statut
Membre
Dernière intervention
26 novembre 2023
125
17 mai 2011 à 11:11
17 mai 2011 à 11:11
Essaye mais je n'y crois pas trop, de placer ton pouetpouet dans une variable et d'afficher la variable au début soit dans un echo ou essayer avec un die.
Mais ça m'étonnerait que ça fonctionne
Mais ça m'étonnerait que ça fonctionne
Creutzou
Messages postés
550
Date d'inscription
lundi 17 mai 2010
Statut
Membre
Dernière intervention
30 mai 2013
30
Modifié par Creutzou le 17/05/2011 à 11:29
Modifié par Creutzou le 17/05/2011 à 11:29
ce n'est pas une erreure de programmation. Il doit y avoir une méthode pour faire ça, mais je ne sais pas comment.
edit: comme prevue, le fais de passer par une vairable ne change rien.
edit: comme prevue, le fais de passer par une vairable ne change rien.
patrice86
Messages postés
1377
Date d'inscription
dimanche 26 octobre 2008
Statut
Membre
Dernière intervention
26 novembre 2023
125
17 mai 2011 à 11:39
17 mai 2011 à 11:39
Alors là je ne vois pas, je ne m'y connais pas encore suffisamment pour te donner une réponse désolé :/
Creutzou
Messages postés
550
Date d'inscription
lundi 17 mai 2010
Statut
Membre
Dernière intervention
30 mai 2013
30
17 mai 2011 à 11:40
17 mai 2011 à 11:40
pas de problème, merci pour le coup de main déjà ;)
Bonjour,
pour forcer l'affichage du tampon de sortie, tu peux utiliser la fonction flush().
https://www.php.net/manual/fr/function.flush.php
Même si ton code PHP est nickel, cela peut venir aussi de certains navigateurs internet qui bloquent en 'bufferisant' l'affichage.
pour forcer l'affichage du tampon de sortie, tu peux utiliser la fonction flush().
https://www.php.net/manual/fr/function.flush.php
Même si ton code PHP est nickel, cela peut venir aussi de certains navigateurs internet qui bloquent en 'bufferisant' l'affichage.
Creutzou
Messages postés
550
Date d'inscription
lundi 17 mai 2010
Statut
Membre
Dernière intervention
30 mai 2013
30
Modifié par Creutzou le 17/05/2011 à 12:22
Modifié par Creutzou le 17/05/2011 à 12:22
peut être j'en ai aucune idée. Mais c'est vraie que par la ligne de commande, tout est écrit dans le terminal.
je vais explorer la fonction Flush. Merci pour la piste !
Tout vient à point à qui sait attendre
~~ Cr3u7z0u ~~
je vais explorer la fonction Flush. Merci pour la piste !
Tout vient à point à qui sait attendre
~~ Cr3u7z0u ~~
Creutzou
Messages postés
550
Date d'inscription
lundi 17 mai 2010
Statut
Membre
Dernière intervention
30 mai 2013
30
17 mai 2011 à 12:29
17 mai 2011 à 12:29
Et bien je pense que c'est mon navigateur qui fait ça alors....
car j'ai trouvé un petit exemple qui traite sur la fonction flush
Et dans mon navigateur, cela ne change rien du tout.
(j'utilise FF4.01)
car j'ai trouvé un petit exemple qui traite sur la fonction flush
<?php ob_start(); for($i=0;$i<70;$i++) { echo 'printing...<br />'; ob_flush(); flush(); usleep(300000); } ?>
Et dans mon navigateur, cela ne change rien du tout.
(j'utilise FF4.01)
Creutzou
Messages postés
550
Date d'inscription
lundi 17 mai 2010
Statut
Membre
Dernière intervention
30 mai 2013
30
17 mai 2011 à 12:31
17 mai 2011 à 12:31
sinon, cela peut il provenir de mon serveur apache ? ou php ?
Un module à activé que j'aurais oublié ?
Un module à activé que j'aurais oublié ?
comme dit, forcer l'affichage avec Flush() est aléatoire et marche mal.
Tu peux essayer de modifier les directives dans php.ini:
-> output_buffering=off
-> implicit_flush=on
Sans garantie :)
Souvent le plus simple est de saucissonner le script PHP en plusieurs parties
Tu peux essayer de modifier les directives dans php.ini:
-> output_buffering=off
-> implicit_flush=on
Sans garantie :)
Souvent le plus simple est de saucissonner le script PHP en plusieurs parties
Creutzou
Messages postés
550
Date d'inscription
lundi 17 mai 2010
Statut
Membre
Dernière intervention
30 mai 2013
30
17 mai 2011 à 15:10
17 mai 2011 à 15:10
Sinon, j'ai entendu parler de l'ajax, cela n'a rien a voir ? ou pourrait il ressoudre mon "problème " ?
je vais faire mes essaies en triffoullant la conf de php.
je vais faire mes essaies en triffoullant la conf de php.
Creutzou
Messages postés
550
Date d'inscription
lundi 17 mai 2010
Statut
Membre
Dernière intervention
30 mai 2013
30
17 mai 2011 à 15:58
17 mai 2011 à 15:58
Après modif de la conf php et redémarrage d'apache, cela n'a rien changé.
Je vais voir pour structuer mon code autrement du coup.
En revanche, si quelqu'un pouvait répondre à ma question concernant l'ajax :)
En tout cas, merci Fobec.com et patrice86.
Je vais voir pour structuer mon code autrement du coup.
En revanche, si quelqu'un pouvait répondre à ma question concernant l'ajax :)
En tout cas, merci Fobec.com et patrice86.
patrice86
Messages postés
1377
Date d'inscription
dimanche 26 octobre 2008
Statut
Membre
Dernière intervention
26 novembre 2023
125
17 mai 2011 à 16:16
17 mai 2011 à 16:16
Je n'es rien fait au final désolé.
patrice86
Messages postés
1377
Date d'inscription
dimanche 26 octobre 2008
Statut
Membre
Dernière intervention
26 novembre 2023
125
17 mai 2011 à 16:17
17 mai 2011 à 16:17
pour ajax, ça te permet de faire des pages web dynamique du côté du client. C'est dans du js.
ça permet de 'mettre à jour' ta page web sans avoir à la rafraichir en entier, juste une partie de ta page.
ça permet de 'mettre à jour' ta page web sans avoir à la rafraichir en entier, juste une partie de ta page.