Page 1 sur 1

Lancer un script après 5 secondes

Posté : 30 sept. 2011, 17:56
par meteo71
bonjour,

j'ai besoin d'un peu d'aide.
Sur une page, j'ai 4 images en flash qui sont crées à partir de données prises dans un seule table de ma base. Chaque image (courbes) nécessitent de nombreux données (au minimum 2000) et l'affichage des 4 images est longues et fait même parfois planté le navigateur.

Je souhaiterais donc lancer l'affichage des images une par une, espacé par exemple d'un temps de 5s mais je ne trouve pas comment faire un petit script php.
On affiche la première, au bout de 5s, on lance la deuxième et ainsi de suite, cela devrait aller mieux au niveau du traitement.

Merci de votre aide

Re: Lancer un script après 5 secondes

Posté : 30 sept. 2011, 19:45
par xTG
PHP ne t'aiderai pas pour le délai.
Il faut charger tes images via Javascript, plus particulièrement par de l'Ajax.
Ce script Ajax ferra appel à un script PHP générant l'image. L'Ajax s'exécutant de façon asynchrone cela ne gênera pas le chargement de la page.

Re: Lancer un script après 5 secondes

Posté : 30 sept. 2011, 20:27
par meteo71
PHP ne t'aiderai pas pour le délai.
Il faut charger tes images via Javascript, plus particulièrement par de l'Ajax.
Ce script Ajax ferra appel à un script PHP générant l'image. L'Ajax s'exécutant de façon asynchrone cela ne gênera pas le chargement de la page.
Houlala, alors la je suis encore plus en galère car la, je ne sais vraiment rien sur le java et l'ajax.

Pour mon code php, c'est ça au début <?php open_flash_chart_object(..... ?> il faudra donc que ça soit avant ce bout de code en php

Ps : merci à un modo de déplacer ce sujet dans la partie Javascript, AJAX

Re: Lancer un script après 5 secondes

Posté : 04 oct. 2011, 13:25
par meteo71
bonjour,

une idée pour me permettre d'avancer ?

merci à vous

Re: Lancer un script après 5 secondes

Posté : 04 oct. 2011, 14:48
par macgawel
Houlala, alors la je suis encore plus en galère car la, je ne sais vraiment rien sur le java et l'ajax.
une idée pour me permettre d'avancer ?
Apprendre le Javascript et l'AJAX :mrgreen:

Sinon, tu peux déjà essayer de faire une fonction PHP qui t'affiche l'animation Flash (qui n'est pas une image) demandée.
Ca pourra te servir plus tard pour faire de l'AJAX.
Principe de l'AJAX :
- Le JS va appeler une page PHP avec des paramètres (genre creerimage.php?id=toto)
- La page PHP ve créer l'image en fonction du/des paramètres envoyés.
- Le JS va récupérer le résultat envoyé par PHP (qui serait donc l'adresse de l'image générée, par exemple).
- Le JS va modifier le contenu de la page affichée pour ajouter l'image.


Profite-en pour réfléchir :
- Pourquoi cela prend-il autant de temps ?
- Comment faire pour réduire ce temps de création ?
- As-tu besoin de générer les images à la volée ou peux-tu le faire une fois pour toute (ou en tout cas une fois de temps en temps - mise en cache) ?
- Tu ne peux pas afficher ces 4 graphiques sur 4 pages différentes ?

Re: Lancer un script après 5 secondes

Posté : 04 oct. 2011, 17:40
par meteo71
Ok, merci
Sinon, tu peux déjà essayer de faire une fonction PHP qui t'affiche l'animation Flash (qui n'est pas une image) demandée.
A priori ça s'est fait puisque je fais comme ça : <?php open_flash_chart_object( 900, 300, chart.php?dateclim='.$_GET['dateclim'].'&formulaire='.$_GET['formulaire'].'&station='.$_GET['station'].'', false ); ?>

J'ai le fichier chart.php qui crée l'image flash et vient l'afficher dans ma page ou j''écris ma fonction ci-dessus.

C'est donc à priori déjà de l'ajax si j'ai bien compris le truc ??

donc le pb viendrait de la génération des graphiques
- Pourquoi cela prend-il autant de temps ?
- Comment faire pour réduire ce temps de création ?
- As-tu besoin de générer les images à la volée ou peux-tu le faire une fois pour toute (ou en tout cas une fois de temps en temps - mise en cache) ?
- Tu ne peux pas afficher ces 4 graphiques sur 4 pages différentes ?
1 - Trop de données ? Base lente ? script lent ?
2 - Aucune idée, ce qui est sur c'est que je ne peux pas enlever de données
3 - non, pas tout le temps disons une seule fois par jour ça devrait suffire mais mettre en cache je ne sais pas faire
4 - non, ce ne serait pas pertinent

Merci de ton aide

Re: Lancer un script après 5 secondes

Posté : 08 oct. 2011, 21:50
par meteo71
bonsoir,

je relance car je n'ai pas trouvé de solutions !

merci à tous