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 :

[AJAX] Affichage progressif Array


Sujet :

JavaScript

  1. #1
    Futur Membre du Club
    Inscrit en
    Octobre 2007
    Messages
    6
    Détails du profil
    Informations forums :
    Inscription : Octobre 2007
    Messages : 6
    Points : 7
    Points
    7
    Par défaut [AJAX] Affichage progressif Array
    Bonjour à tous,

    Voilà mon problème :

    J'ai une fonction PHP très lourde. Celle-ci me renvoie un array. A partir de celui-ci je créer un fichier xml qui contient les résultats.

    Je n'ai qu'a lire le fichier xml si je veux réutiliser la même fonction avec les même paramètres, cela est d'ailleur très rapide.

    Mon problème est, avant de générer le fichier xml, je souhaiterais ne pas faire attendre le visiteur, et lui proposer de visualiser les résultats. Je souhaites afficher les résultats dès que la fonction me les renvoie mais petit à petit.

    En d'autres mots, dès que j'ai une ligne de mon array, op je l'affiche

    Mais je ne vois absolument pas comment faire.
    Un exemple parfait est ce site : http://www.kayak.com

    Faite une recherche, vous verrez que malgré le temps important de la recherche (progress bar) vous n'avez pas l'impression d'attendre longtemps, car vous pouvez commencer à lire les résultats.

    C'est un peu se que je cherche à faire, au moins s'en rapprocher.
    PS: si vous avez des exemples de progresse bar... je n'ai pas encore chercher, mais si vous avez dors et déjà de bonne adresses, n'hésitez pas.

    Merci beaucoup,
    A bientot
    PtitBoiss

  2. #2
    Membre expérimenté
    Avatar de ryan
    Homme Profil pro
    Développeur Web
    Inscrit en
    Juin 2003
    Messages
    956
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Juin 2003
    Messages : 956
    Points : 1 316
    Points
    1 316
    Billets dans le blog
    1
    Par défaut
    Yop!

    Voici comment j'essaierais de procéder, sans préjuger des pbs de synchronisation entre l'écriture du fichier XML et sa lecture. Une analyse très théorique donc.

    Page 1: formulaire

    Page 2: page d'action du formulaire

    Page 3: page qui génère le XML


    Page 2:

    - Fait un POST vers page 3 pour lui envoyer les paramétres

    - Rentre dans une boucle temporisée qui va faire un GET sur le fichier XML généré par Page 3 et qui va aussi lire ce fichier XML.

    Il faut maintenir 2 compteurs, par exemple:

    already_displayed = le nb de résultats déjà affichés. Ce compteur est maintenu à jour par Page 2

    tobe_displayed = le nb total de résultats présents dans le fichier XML.

    Page 2 compare les 2 compteurs pour savoir, parmi les résultats présents dans le fichier XML, quels sont ceux qui ont déjà été affichés et ajoute éventuellement les nouveaux résultats à la suite de ceux qui avaient déjà été affichés.

    Page 2 mémorise le compteur tobe_displayed et va comparer avec celui qu'elle lira lors de la prochaine itération de la boucle temporisée. Si la valeur sauvegardée et la valeur lue sont égales, la boucle temporisée peut s'arrêter car tous les résultats sont dans le fichier XML.

    Autre solution: Page 3 connaît dès le début le nb de résultats qui seront sauvés dans le fichier XML et sauve alors ce nombre comme une entrée dans le fichier XML. Dans ce cas, Page 2 compare le compteur already_displayed avec ce nombre sauvé dans le fichier XML.


    Page 3

    Construit son tableau par itération sur un recordset, probablement.
    A chaque itération, en même temps qu'elle ajoute une ligne au tableau, Page 3 ajoute une entrée dans le fichier XML et le sauve.
    Un ascenseur est une machine qui passe quand même la moitié de son temps à descendre.

Discussions similaires

  1. [AJAX] Affichage avec Firefox
    Par sarapis dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 19/05/2006, 16h00
  2. [AJAX] Affichage ajax
    Par matique dans le forum Général JavaScript
    Réponses: 3
    Dernier message: 11/03/2006, 19h28
  3. [Procedure] Affichage progressif des résultats
    Par xenos dans le forum Langage
    Réponses: 2
    Dernier message: 30/12/2005, 22h07
  4. Display un sous menu : affichage progressif des sous rubriq.
    Par sokette dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 27/12/2005, 16h15
  5. Réponses: 3
    Dernier message: 03/05/2005, 18h16

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