Précédent   Forum des professionnels en informatique > PHP > Langage
Langage Forum sur le langage PHP, la POO, les conventions, la sécurité, etc. Avant de poster : FAQ Langage, toutes les FAQ PHP, cours langage et sources PHP
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 20/11/2010, 16h53   #1
Membre du Club
 
Inscription : février 2006
Messages : 310
Détails du profil
Informations forums :
Inscription : février 2006
Messages : 310
Points : 64
Points : 64
Par défaut Scipts long avec plein de taches.

Bonjour,

Je dois effectuer un script assez lourd, avec plusieurs centaines d'éléments à traiter. Pour chaque élément différent étapes.

Ce script est très lourd et met beaucoup de temps se traiter.
J'aimerais pouvoir effectuer un affichage des "logs" ou des étapes pour chaque élément. Cependant a l'heure actuelle quand je lance mon script la page se charge et s'affiche uniquement a la fin de toutes les étapes.

Du coup les logs et l'affichage que j'ai mis en place ne sert a rien car on voir tout mais qu'a la fin.

J'ai déjà vu plein de script qui affichait les étapes, la progression, mais je ne sais pas comment cela fonctionne, quel est le principe.

Pouvez-vous m'expliquer comment je dois procéder.

Merci
__________________
La vie à le gout qu'on lui donne
mims1664 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 22/11/2010, 10h54   #2
Invité de passage
 
Inscription : novembre 2010
Messages : 5
Détails du profil
Informations forums :
Inscription : novembre 2010
Messages : 5
Points : 3
Points : 3
Salut !

Tu vas devoir utiliser l'AJAX pour ca. En gros le principe c'est de faire des requêtes vers ton serveur à partir d'un code JavaScript sans rafraichir ta page.

Dans ton cas, tu vas devoir créer ta première étape (lancer une requête AJAX vers ton serveur) faire ton traitement, une fois celle-ci terminée, afficher le ou les messages qui résultent de l'étape. Ensuite, tu crées une nouvelle requête AJAX pour ta deuxième étape, attendre la réponse, afficher tes logs, et ainsi de suite pour le nombre d'étape que tu as.

Si tu utilises un framework genre jQUery, Mootools, ou autre, les requêtes AJAX sont super simple à implémenter.

Bien à toi,

Jisay
Jisay est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 22/11/2010, 11h02   #3
Membre Expert
 
Avatar de Madfrix
 
Inscription : juin 2007
Messages : 2 277
Détails du profil
Informations personnelles :
Localisation : France, Gironde (Aquitaine)

Informations forums :
Inscription : juin 2007
Messages : 2 277
Points : 2 323
Points : 2 323
Citation:
Envoyé par Jisay Voir le message
Tu vas devoir utiliser l'AJAX pour ca.

ou Flex
Madfrix est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 22/11/2010, 11h12   #4
Invité de passage
 
Inscription : novembre 2010
Messages : 5
Détails du profil
Informations forums :
Inscription : novembre 2010
Messages : 5
Points : 3
Points : 3
Citation:
Envoyé par Madfrix Voir le message
ou Flex
Oui ou flex. Par contre pour ca, je n'ai aucune expertise
Jisay est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 22/11/2010, 11h17   #5
Membre Expert
 
Avatar de Madfrix
 
Inscription : juin 2007
Messages : 2 277
Détails du profil
Informations personnelles :
Localisation : France, Gironde (Aquitaine)

Informations forums :
Inscription : juin 2007
Messages : 2 277
Points : 2 323
Points : 2 323
C'est juste que avant, Flash/Flex n'était pas conseillé puisque les internautes ne possédaient pas le lecteur Flash mais maintenant à en croire les chiffres, il y a surement plus de monde à désactiver js qu'à ne pas posséder de lecteur Flash
Madfrix est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 22/11/2010, 11h24   #6
Membre du Club
 
Inscription : février 2006
Messages : 310
Détails du profil
Informations forums :
Inscription : février 2006
Messages : 310
Points : 64
Points : 64
Bonjour,

Ajax, je connais un peu.

Je vais faire mes tests dans se sens.

Merci

Jérémie
__________________
La vie à le gout qu'on lui donne
mims1664 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 22/11/2010, 13h37   #7
Membre éprouvé
 
Avatar de Tesing
 
Xavier Schepler
Étudiant
Inscription : septembre 2009
Messages : 273
Détails du profil
Informations personnelles :
Nom : Xavier Schepler
Âge : 28
Localisation : France, Paris (Île de France)

Informations professionnelles :
Activité : Étudiant
Secteur : Enseignement

Informations forums :
Inscription : septembre 2009
Messages : 273
Points : 402
Points : 402
Salut,

Choisir l'AJAX est une solution.

Une autre est d'utiliser les fonctions de la famille ob_* (ob_start(), ob_flush(), ...) ainsi que flush qui permettent d'avoir un affichage progressif.

Le contenu de la page même partiel est envoyé vers le navigateur quand tu appelles ob_flush();flush();

Ça marche sous certaines conditions détaillées dans le manuel PHP.
__________________
Keep it simple, stupid !
Tesing est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 19h48.


 
 
 
 
Partenaires

Hébergement Web