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

Langage PHP Discussion :

Comment bufferiser un module avec un sablier


Sujet :

Langage PHP

  1. #1
    Débutant  
    Profil pro
    Inscrit en
    Mai 2005
    Messages
    3 102
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Mai 2005
    Messages : 3 102
    Points : 953
    Points
    953
    Par défaut Comment bufferiser un module avec un sablier
    Bonjour à tous.
    Voilà mon petit problème.

    Dans un de mes page, j'ai un code php qui me génère un calendrier pour un mois. Il affiche donc chaque jour d'un mois sous la tableau. Un joli petit truc.

    Mon problème c'est que dans ma page en question, je dois afficher tous les mois.

    Donc le fait comme ceci, avec un for:
    Code PHP : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
     
          <aside class="season">
            <section class="seasons-calendar">
              <?php
    			for($mois_manage_season = 1; $mois_manage_season <= 4 ; $mois_manage_season++){
    				include($root.'include/calendar_small.inc.php');
    			}
    		?>
            </section>
            <section class="seasons-calendar">
              <?php
    			for($mois_manage_season = 5; $mois_manage_season <= 8 ; $mois_manage_season++){
    				include($root.'include/calendar_small.inc.php');
    			}
    		?>
            </section>
            <section class="seasons-calendar">
              <?php
    			for($mois_manage_season = 9; $mois_manage_season <= 12 ; $mois_manage_season++){
    				include($root.'include/calendar_small.inc.php');
    			}
    		?>
            </section>
          </aside>
    Ca marche bien sauf qu'il met un grand temps pour tout affiché et ca ralenti considérablement le chargement d ema page.

    J'aimerais donc trouver une solution avec un sablier.
    => Le chargement de ma page ne dois pas etre "freiné" et je souhaiterai qu'un gif d'un sablier soit affiché et un fois les 12 calendrier chargé, il s'affiche à la place du sablier.

    Es-ce possible de faire ceci en PHP, sans javascript?

    Milles mercis pour vos lumieres!

  2. #2
    Membre régulier
    Homme Profil pro
    Intégrateur Web
    Inscrit en
    Décembre 2009
    Messages
    41
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Intégrateur Web

    Informations forums :
    Inscription : Décembre 2009
    Messages : 41
    Points : 92
    Points
    92
    Par défaut
    Non tu ne peut pas faire ce genre de chose, tu doit soit utiliser du javascript, ou alors tu cherches à optimiser ton code, tu peux très bien afficher un calendrier rapidement sans JS.

    Pourquoi faire des includes dans une boucle par exemple ?

  3. #3
    Débutant  
    Profil pro
    Inscrit en
    Mai 2005
    Messages
    3 102
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Mai 2005
    Messages : 3 102
    Points : 953
    Points
    953
    Par défaut
    salut pokap,

    Ben je fais des include pour ne pas codé 12 fois le meme code. Ainsi je modifie une fois , dans le module importé.
    Comment ferais tu autrement, avec un fonction?
    A noté que ce calendrier ne fait pas de requete MySQL.

  4. #4
    Membre expert Avatar de RunCodePhp
    Profil pro
    Inscrit en
    Janvier 2010
    Messages
    2 962
    Détails du profil
    Informations personnelles :
    Localisation : Réunion

    Informations forums :
    Inscription : Janvier 2010
    Messages : 2 962
    Points : 3 947
    Points
    3 947
    Par défaut
    Salut

    Ben je fais des include pour ne pas codé 12 fois le meme code. Ainsi je modifie une fois , dans le module importé.
    Comment ferais tu autrement, avec un fonction?
    Un include, même bien conçu ou structuré restera toujours purement procédural.
    La POO permet plus de souplesse, mais bien souvent (ou en contre partie), c'est plus lourd.

    Si le temps de chargement est particulièrement long, de l'Ajax serait ici une solution.
    En gros, (c'est la base d'Ajax), on envoie un contenu HTML minimaliste, et c'est après, une fois que le client a reçu le contenu qu'on surcharge les contenu (on les remplis).
    Ceci se faisant de manière asynchrone, et bien s'il y a plusieurs blocs à charger, ils pourront se faire en parallèles, donc en même temps, ce qui peut faire gagner beaucoup de temps.

  5. #5
    Membre expert
    Avatar de ThomasR
    Homme Profil pro
    Directeur technique
    Inscrit en
    Décembre 2007
    Messages
    2 230
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Directeur technique
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Décembre 2007
    Messages : 2 230
    Points : 3 972
    Points
    3 972
    Par défaut
    Le problème vient de ton code qui ne doit pas être optimisé du tout. Un calendrier ca s'affiche en quelques millisecondes.

    Ben je fais des include pour ne pas codé 12 fois le meme code. Ainsi je modifie une fois , dans le module importé.
    Comment ferais tu autrement, avec un fonction?
    Oui bien sûr, avec une fonction, dans ton fichier tu déclares une fonction et tu l'appelles à chaque fois plutot que d'aller faire une lecture sur le disque. C'est bien plus performant.

Discussions similaires

  1. [eclipse][plugin] Comment avoir une fenêtre avec focus
    Par relivio dans le forum Eclipse Java
    Réponses: 1
    Dernier message: 07/04/2004, 16h54
  2. [linux][gcc] Comment travaille t-on avec plusieurs fichiers?
    Par kaygee dans le forum Autres éditeurs
    Réponses: 2
    Dernier message: 02/04/2004, 18h48
  3. [Debutant] comment creer un Executable avec Jbuilder
    Par JavaEli dans le forum JBuilder
    Réponses: 10
    Dernier message: 29/03/2004, 12h22
  4. Comment renommer un champ avec Module BD?
    Par technico dans le forum Bases de données
    Réponses: 4
    Dernier message: 27/01/2004, 22h24
  5. [TChart] comment remplir un histogramme avec du rouge strié.
    Par :GREG: dans le forum Composants VCL
    Réponses: 2
    Dernier message: 12/08/2002, 10h37

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