IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

JavaScript Discussion :

Afficher une page attente pour un export csv en php


Sujet :

JavaScript

  1. #1
    Nouveau Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Juin 2012
    Messages
    2
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juin 2012
    Messages : 2
    Points : 1
    Points
    1
    Par défaut Afficher une page attente pour un export csv en php
    Bonjour à tous,

    J'ai un export csv qui prend entre 5 et 10min, du coup il faut que je mette une page d'attente.
    Mais je n'y arrive pas :

    J'ai essayé de mettre le code de l'export dans un autre fichier php et de l'appeler en ajax mais dans ce cas impossible de télécharger le fichier :O

    J'ai aussi tester de mettre un onclick sur le lien qui me permet de générer l'export.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    afficherAttente();
    document.location.href="LIEN VERS MON EXPORT"
    masquerAttente();
    mais le masquerAttente n'attend pas la fin de l'export du coup j'ai ma page de chargement pendant 2s alors que mon export prend plus de 5 min...

    Code php pour l'export :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    header("Content-type: application/vnd.ms-excel");
    header("Content-Disposition: attachment; filename=ProductionProjet_" . ucfirst(strftime("%B%Y", $debut)) . ".xls");
    header("Pragma: public");
    header("Cache-Control: must-revalidate, post-check=0, pre-check=0");
     
    CALCUL ET REQUETE ...
     
    echo $csv;
    exit();
    Des idées ?
    Je suis un peu à court la

    Merci d'avance,
    Florent

  2. #2
    Membre régulier
    Homme Profil pro
    Développeur Web
    Inscrit en
    Janvier 2011
    Messages
    48
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Janvier 2011
    Messages : 48
    Points : 80
    Points
    80
    Par défaut
    Salut,

    Si j'ai bien compris voici une solution :
    1 - appel ta fonction afficherAttente()
    2 - via ajax appel ta fonction d'export php
    3 - sur le success de la fonction ajax tu appel masquerAttente() et tu génére le lien de téléchargement de ton fichier csv.

  3. #3
    Rédacteur

    Avatar de Bovino
    Homme Profil pro
    Développeur Web
    Inscrit en
    Juin 2008
    Messages
    23 647
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2008
    Messages : 23 647
    Points : 91 418
    Points
    91 418
    Billets dans le blog
    20
    Par défaut
    Encore faut-il que le max_execution_time soit réglé de façon idoine... parce que 5 à 10 minutes, c'est pas rien !
    Pas de question technique par MP !
    Tout le monde peut participer à developpez.com, vous avez une idée, contactez-moi !
    Mes formations video2brain : La formation complète sur JavaScriptJavaScript et le DOM par la pratiquePHP 5 et MySQL : les fondamentaux
    Mon livre sur jQuery
    Module Firefox / Chrome d'intégration de JSFiddle et CodePen sur le forum

  4. #4
    Nouveau Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Juin 2012
    Messages
    2
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juin 2012
    Messages : 2
    Points : 1
    Points
    1
    Par défaut
    Finalement j'ai trouvé une autre solution qui évite à l'utilisateur d'attendre...
    Je suis passé par un script php qui génère un fichier csv qui est appelé via exec et à la fin je l'envoi par mail à l'utilisateur qui l'a demandé.

    Merci pour votre aide

Discussions similaires

  1. bouton pour afficher une page dans la frame droite
    Par mouss4rs dans le forum Général JavaScript
    Réponses: 4
    Dernier message: 24/04/2008, 15h30
  2. Aide pour afficher une page
    Par john7911 dans le forum Langage
    Réponses: 2
    Dernier message: 05/03/2008, 13h14
  3. Afficher une page d'attente avant d'afficher le résultat final
    Par Ghislain dans le forum Servlets/JSP
    Réponses: 6
    Dernier message: 19/10/2007, 15h44
  4. Réponses: 3
    Dernier message: 13/11/2006, 20h38
  5. Pb pour afficher une page selon la résolution de l'écran
    Par magic8392 dans le forum Général JavaScript
    Réponses: 6
    Dernier message: 24/10/2005, 11h35

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo