Sujet: Please wait...
20/11/2006 @ 16:04:21: etik: Please wait...
Et bien voula, j'ai un ptit probleme avec une page web en PHP qui est assez longue a chargee.

PHP + un tas de query Oracle :eek:

Je voudrai afficher un message "please wait" a mon user pour qu'il ne tape pas refresh 200x(exposant infini)

Donc avec 2 DIV ca devrais le faire... ou pas... et la c'est plutot pas.

Dans ma page principale

  1. <blablabla
  2. <body class=button onload=hidePreloadPage()> 
  3. <blablabla
  4. <div id=prepage style=visibility:visible;display:inline
  5. <img id=waitimage src=Graphics/loading.gif>Loading... Please wait... 
  6. </div
  7. <div id=mainpage style=visibility:hidden;display:none> 
  8. <Le truc de la page super mega long a chargermais qui ne prend que 16secmais que c'est quand meme trop long pour l'utilisateur qui reload la page comme un fou :kiki:  >


et deux functions (copy/paste du net) pas encore tout compris :grin: suis pas developpeur moi :petrus:

  1. function hidePreloadPage() { 
  2. if (document.getElementById){ 
  3. document.getElementById('prepage').style.visibility='hidden'
  4. document.getElementById('prepage').style.display='none';  
  5. document.getElementById('mainpage').style.visibility='visible'
  6. document.getElementById('mainpage').style.display='inline'
  7. else { 
  8. if (document.layers){ 
  9. document.prepage.visibility = 'hidden'
  10. document.getElementById('prepage').style.display='none';  
  11. document.getElementById('mainpage').style.visibility='visible'
  12. document.getElementById('mainpage').style.display='inline'
  13. else { 
  14. document.all.prepage.style.visibility='hidden'
  15. document.getElementById('prepage').style.display='none';  
  16. document.getElementById('mainpage').style.visibility='visible'
  17. document.getElementById('mainpage').style.display='inline'
  18. function showPreloadPage() { 
  19. if (document.getElementById){ 
  20. document.getElementById('prepage').style.visibility='visible'
  21. document.getElementById('prepage').style.display= 'inline'
  22. document.getElementById('mainpage').style.visibility='hidden'
  23. document.getElementById('mainpage').style.display= 'none';  
  24. else { 
  25. if (document.layers){ 
  26. document.prepage.visibility = 'visible'
  27. document.getElementById('prepage').style.display= 'inline'
  28. document.getElementById('mainpage').style.visibility='hidden'
  29. document.getElementById('mainpage').style.display= 'none';  
  30. else { 
  31. document.all.prepage.style.visibility = 'visible'
  32. document.getElementById('prepage').style.display= 'inline'
  33. document.getElementById('mainpage').style.visibility='hidden'
  34. document.getElementById('mainpage').style.display= 'none';  
  35. setTimeout('document.images["waitimage"].src = "Graphics/loading.gif"'200);  
  36. }


Mon probleme est que je n'arrive pas a lancer la function showPreloadPage() au moment ou la page charge.

Un idee ? ou je change mes users :banzai:

Merci !!
20/11/2006 @ 16:58:55: rfr: Please wait...
:chut:
20/11/2006 @ 18:15:14: etik: Please wait...
recherche keylogger.
Si + de 3fois refresh en moins de 5sec -> install une batterie sony :banzai:
20/11/2006 @ 18:21:26: zion: Please wait...
pourquoi tu règles pas le problème de page longue à charger plutôt que de vouloir afficher un truc à l'utilisateur? Cela me paraît de loin plus logique :petrus:
20/11/2006 @ 18:37:07: Altar: Please wait...
En même temps si le code doit parser une bdd de 160go, tu peux essayer d'optimiser comme tu veux mais ça ne résoudera jamais ton problème :tinostar:
20/11/2006 @ 18:38:42: zion: Please wait...
J'ai un doute ici :itm:
20/11/2006 @ 20:27:47: etik: Please wait...
Malheureusement c'est pas mon trip la programmation, suis dba pas programmeur et surtout pas en php :petrus:
Donc au niveau des requetes sql, elles sont nikel :wink:
Le code php par contre... euh... mais bon le truc est quand meme enorme, donc ca me parait pas mal 10 a 15sec pour avoir la page. J'ai pas ecris ce truc, mais je reprend la main. restriction de personnel toussa... :angry:
Au gros, c'est du monitoring et ca verifie des infos db par db... plus de 200 a travers l'europe. 15sec moi je trouve ca top.
20/11/2006 @ 20:34:41: zion: Please wait...
Ok :oh:

Benh alors pourquoi ne pas utiliser une page avec une iframe dans laquelle tu bosses, cachée en dehors de ton écran à la limite et qui se remet dans ton div à partir du moment ou elle a terminé? Au moins cela évitera que le mec recharge la page 50 fois vu que ta première page sera bien terminée et affichée et en gros en rouge "TU RELOADES PAS :kiki: " :petrus:

My 2 cents :oh:
20/11/2006 @ 20:39:43: gizmo: Please wait...
AJAX :oh:
La page s'affiche, elle lance automatiquement la requete en background, avec un message d'attente. Quand la requete est finie, le resultat est reçu et remplace le message. Avec un toolkit comme Mochikit ou Dojo, c'est l'histoire d'une trentaine de lignes de code.
20/11/2006 @ 21:27:40: etik: Please wait...
J'adore l'idee du "TU RELOAD PAS OU JE MORDS" en lieu et place du "PLEASE WAIT" :lol:
je "google" des demain sur Mochikit, Dojo et AJAX.

J'entends bcp parler d'AJAX mais je n'ai jamais rien lu dessus. Un site de reference ?

Merci pour vos conseils !!
20/11/2006 @ 23:29:31: ovh: Please wait...
http://ajax.developpez.com :petrus:

:neowen:
21/11/2006 @ 00:01:20: etik: Please wait...
Cool, un chapitre AJAX beginner sympa "III-B. Attendre c'est bien, le savoir c'est mieux !"

J'casse essaye tout ca... :alarmclock2:
Retour