Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
980 connectés 

  FORUM HardWare.fr
  Programmation
  PHP

  chargement d'une page long

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

chargement d'une page long

n°1314052
rdams
Posté le 27-02-2006 à 09:59:05  profilanswer
 

Bonjour,
 
j'ai une page qui est assez longue à se charger, 30s à 1min.
je voudrais afficher un message d'attente.
est ce que c'est possible sachant que cette page fait des traitements php et execute des requetes vers une bdd.
si oui comment faire ??
j'ai essayer du javascript, mais ça ne fonctionne pas.
 
merci

mood
Publicité
Posté le 27-02-2006 à 09:59:05  profilanswer
 

n°1314056
dwogsi
Défaillance cérébrale...
Posté le 27-02-2006 à 10:08:01  profilanswer
 

Salut,
pour faire ça tu as deux solutions. La première est "la page d'attente", autrement dit c'est une page qui est affichée avant la celle du traitement et qui contient un message d'attente.
 
L'autre solution, dont le fonctionnement est plutôt hasardeux, consiste à créer le contenu de la page, entièrement ou partiellement, avec le message d'attente et dans le <body OnLoad="hide_message()"> donc l'appel à la fonction chargée de masquer le message d'attente et ensuite vider les buffers avce flush() et ob_flush().

n°1314345
rdams
Posté le 27-02-2006 à 14:24:28  profilanswer
 

J'ai essayer de faire une page d'attente qui s'affiche avant.
 
mais elle s'affiche rapidement puis passe sur la page suivante où j'ai toujours mon attente sur une page blanche.
j'utilise la methode du site de la sncf trouvé sur cette page :  
 
 
[url]
http://forum.hardware.fr/hardwaref [...] 1867-1.htm
[/url]
 
voici mon code  

Code :
  1. <html>
  2. <head>
  3. </head>
  4. <script type="text/JavaScript" src="site.js"></script>
  5. <script type="text/JavaScript">
  6. function envoie_stat(){
  7. document.envoyer.submit();
  8. }
  9. </script>
  10. <body onLoad="envoie_stat();">
  11. <form name="envoyer" action="if_stat_abo.php">
  12. <input type="hidden" name="envoi" value="1">
  13. </form>
  14. <center>
  15. <table width="740" bordercolor="#606CC3" border="1" >
  16. <tr><td class="Titre1" height="30">Statistique</td></tr>
  17. <tr><td>
  18.  Patientez ...
  19. </td></tr>
  20. </table>
  21. </center>
  22. </body>
  23. </html>

n°1314368
dwogsi
Défaillance cérébrale...
Posté le 27-02-2006 à 14:42:21  profilanswer
 

(balises <center> à bannir)
Sinon je dirais.... AJAX POWER! Ca réduit la compatibilité (comme je le dis toujours) mais là au moins tu peux balancer ta requête http et attendre que tout soit terminer avant de passer à la page suivante.
 
AJAX?? =>> Google!

n°1315067
rdams
Posté le 28-02-2006 à 10:19:42  profilanswer
 

merci, j'ai trouvé ce que je voulais à l'aide de Ajax.
 
j'affiche une partie de ma page avec un message patientez et lorsqu'elle a fini de se charger, je cache le patientez et j'affiche mes données.

n°1315422
rdams
Posté le 28-02-2006 à 15:55:25  profilanswer
 

j'ai essayer avec un nombre plus important de données, et j'ai d'abord une page blanche et seulement ensuite l'affichage du message patientez puis mes infos.
est ce que je pourrais avoir le message patientez directement???
 
voici mon code

Code :
  1. var xhr_object = null;
  2. function getXhr(){
  3. if(window.XMLHttpRequest) // Firefox   
  4.     xhr_object = new XMLHttpRequest(); 
  5. else if(window.ActiveXObject) // Internet Explorer   
  6.     xhr_object = new ActiveXObject("Microsoft.XMLHTTP" ); 
  7. else { // XMLHttpRequest non supporté par le navigateur   
  8.     alert("Votre navigateur ne supporte pas les objets XMLHTTPRequest..." ); 
  9.     return
  10. }
  11. //
  12. getXhr();
  13. xhr_object.onreadystatechange = function(){
  14. // On ne fait quelque chose que si on a tout reçu et que le serveur est ok
  15.   if(xhr_object.readyState == 4 && xhr_object.status == 200){
  16.    document.getElementById('liste').style.display="block";
  17.    document.getElementById('attente').style.display="none";
  18.   }
  19. }
  20. xhr_object.open("GET", "stat.php", true);
  21. xhr_object.send(null);


 
je rentre sur la page stat.php en faisant un lien venant d'une autre page et le code ci dessus ce trouve dans la page stat.php.
 


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  PHP

  chargement d'une page long

 

Sujets relatifs
Question sur front page 2003Deplacer un cadre a la souris sur une page web
[Résolu ?] Insertion d'un player dans une page php[JSP] Cookie, refresh de page, ...
affichage page par page, trieRetour vers l'index si la page n'est pas dans une frame
aide pour faire une applet pour ouvrir word à partir de page htmlComment ajouter une page [RESOLU]
Musique de fond pour page htmlInsérer du texte récurrent dans une page par les CSS ?
Plus de sujets relatifs à : chargement d'une page long


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR