Partage
  • Partager sur Facebook
  • Partager sur Twitter

Image pendant une boucle.

Sujet résolu
    13 mai 2010 à 17:50:08

    Bonjour,

    J'ai une boucle en php qui prend quelque seconde, je voudrais qu'une image "Chargement .." s'affiche au début de la boucle une fois la boucle finie l'image ce retire.
    <?php
    while ($lct= mysql_fetch_array($rqt) )
    { 
    echo $lct['rcp'];
    } 
    ?>
    


    Je ne vois vraiment pas comment je pourrait faire.
    J'ai tester sa :

    <div id="chargement"><p><img src="../images/chargement.gif" alt="Chargement.." /> Chargement ..</p></div>
    <?php  
    $bcl = 0;
     $rqt= mysql_query("SELECT * FROM ddr ORDER BY id");
    while ($lct= mysql_fetch_array($rqt) )
    { echo $lct['rcp']; } ?>
     <script type="text/javascript">
    document.getElementById("chargement").innerHTML = "";
      </script>
    

    Mais l'image ne s'affiche pas, pendant le chargement de la boucle.
    Quelqu'un serait comment faire ?

    Cordialement
    • Partager sur Facebook
    • Partager sur Twitter
      13 mai 2010 à 18:04:47

      Comment sa boucle sur vide ?
      • Partager sur Facebook
      • Partager sur Twitter
        13 mai 2010 à 18:07:27

        Ben, si, par exemple, t'as oublié de mettre les paramètres de connexion à ta BDD ou s'il n'y a pas de résultat à ta requête, ta boucle ne boucle pas, donc l'image est directement effacée de ta page.
        • Partager sur Facebook
        • Partager sur Twitter
          13 mai 2010 à 18:09:20

          C'est un bout du code, mais la boucle marche très bien, c'est juste l'affichage de l'image avent et qu'elle se retire après que je veux.
          • Partager sur Facebook
          • Partager sur Twitter
            13 mai 2010 à 18:12:50

            Ca marche pas ça ?

            <div id="chargement"><img src="chargement.png" alt="Chargement en cours..." /></div>
            <?php
            while(...)
            {
            ...
            }
            ?>
            <script type="text/javascript"><!--
            document.getElementById('chargement').style.display = 'none';
            --></script>
            
            • Partager sur Facebook
            • Partager sur Twitter
              13 mai 2010 à 18:15:44

              Ben, alors, pitêt que ton image prend trop de temps à être chargée (plus que la boucle)

              Essaie en embarquant son code dans l'attribut data de ton img
              • Partager sur Facebook
              • Partager sur Twitter
                13 mai 2010 à 18:20:33

                L'image ne s'affiche pas non plus.
                l'image fait 722 octets.
                Si je mais du texte à la place de l'image le texte ne s'affiche pas non plus.
                • Partager sur Facebook
                • Partager sur Twitter
                  13 mai 2010 à 18:25:11

                  En fait rien ne s'affiche tant que la boucle n'est pas prête ?
                  • Partager sur Facebook
                  • Partager sur Twitter
                    13 mai 2010 à 18:26:05

                    Ainsi, pitêt...

                    <div id="chargement"><img src="chargement.png" alt="Chargement en cours..." /></div>
                    <?php
                    while(...)
                    {
                    ...
                    }
                    echo'<script type="text/javascript"><!--
                    document.getElementById(\'chargement\').style.display = \'none\';
                    --></script>';
                    ?>
                    


                    • Partager sur Facebook
                    • Partager sur Twitter
                      13 mai 2010 à 18:32:14

                      Hein ? Mais quelle est la différence avec mon code ?
                      • Partager sur Facebook
                      • Partager sur Twitter
                        13 mai 2010 à 18:35:06

                        Ben, qu'en le faisant recracher par php, t'es sûr que cela ne va pas s'exécuter avant la fin de la boucle...

                        Mais, je te l'accorde, ça ne devrait déjà pas avec ton code...
                        • Partager sur Facebook
                        • Partager sur Twitter
                          13 mai 2010 à 18:42:05

                          OK. Bon de toute façon, mon code était juste là à titre indicatif, à l'OP d'adapter selon son code. Le but c'est de montrer que le JavaScript masque le div#chargement après avoir chargé la boucle. (C'est pas très beau, le code php; ?> code html <?php code php... ^^)
                          • Partager sur Facebook
                          • Partager sur Twitter
                            13 mai 2010 à 18:46:24

                            Ben, justement, avec ton code, je pense que la fonction JS est exécutée après le chargement de l'instruction de la boucle et non après son exécution...

                            Mais j'peux me tromper...
                            • Partager sur Facebook
                            • Partager sur Twitter
                              13 mai 2010 à 19:03:25

                              Mais la boucle elle est en PHP, rien à voir donc. Enfin bref.
                              • Partager sur Facebook
                              • Partager sur Twitter
                                13 mai 2010 à 19:07:27

                                Oui, justement, la partie JS étant hors du code PHP, elle est prête à être affichée et donc exécutée AVANT la boucle qui, elle, prend du temps.

                                Tu saisis le raisonnement?
                                • Partager sur Facebook
                                • Partager sur Twitter
                                  13 mai 2010 à 19:22:50

                                  Oui oui. OK, disons que c'est ça.
                                  • Partager sur Facebook
                                  • Partager sur Twitter

                                  Image pendant une boucle.

                                  × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
                                  × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
                                  • Editeur
                                  • Markdown