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 :

Actualisation sur la même page


Sujet :

Langage PHP

  1. #1
    Membre régulier Avatar de kazylax
    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    278
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France, Gironde (Aquitaine)

    Informations forums :
    Inscription : Juillet 2007
    Messages : 278
    Points : 121
    Points
    121
    Par défaut Actualisation sur la même page
    Bonjour,

    j'ai le code suivant qui me permet d'afficher le time() en php restant d'une construction d'un jeu que je réalise actuellement. seulement il veut pas m'afficher le temps en direct.

    je voudrais qui m'actualise la variable $temps chaque seconde sur ma page.
    Savez vous comment faire ceci s'il vous plait ?

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
     
    <label id="Compte"></label>
    <script type="text/JavaScript">
    var Affiche=document.getElementById("Compte");
    function Rebour() 
    {
    Affiche.innerHTML = "Temps restant : <?php echo $temps; ?>";
    }
     
    tRebour=setTimeout ("Rebour();", 1000);
    }
    Rebour();
    </script>
    voici un autre code seulement il verifie pas le time() de ma base de donnée
    le code ci-dessous permet d'afficher la date que j'ai mis dans la case prévu Ligne 5

    Code : 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
    25
     
    <label id="Compte"></label>
    <script type="text/JavaScript">
    var Affiche=document.getElementById("Compte");
     
    function Rebour() 
    {
    var w = '<?= $temps; ?> ';
    var date1 = new Date();
    var date2 = new Date ("Oct 3 5:32:00 2010"); // Date a changer
    var sec = (date2 - date1) / 1000;
    var n = 24 * 3600;
    if (sec > 0) {
    j = Math.floor (sec / n);
    h = Math.floor ((sec - (j * n)) / 3600);
    mn = Math.floor ((sec - ((j * n + h * 3600))) / 60);
    sec = Math.floor (sec - ((j * n + h * 3600 + mn * 60)));
    Affiche.innerHTML = "Temps restant : " + j +" j "+ h +" h "+ mn +" min "+ sec + " s ";
    }else{
    Affiche.innerHTML = "Temps fini";
    }
    tRebour=setTimeout ("Rebour();", 1000);
    }
    Rebour();
    </script>

    Merci
    Cordialement,

  2. #2
    Rédacteur/Modérateur
    Avatar de andry.aime
    Homme Profil pro
    Inscrit en
    Septembre 2007
    Messages
    8 391
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Ile Maurice

    Informations forums :
    Inscription : Septembre 2007
    Messages : 8 391
    Points : 15 059
    Points
    15 059
    Par défaut
    Bonjour,

    PHP s'exécute du coté serveur et javascript du coté client, tu ne dois pas mélanger ses variables. Regardes du coté AJAX, et recherches sur son forum, ce problème est mainte fois résolues.

    A+.

  3. #3
    Membre régulier Avatar de kazylax
    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    278
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France, Gironde (Aquitaine)

    Informations forums :
    Inscription : Juillet 2007
    Messages : 278
    Points : 121
    Points
    121
    Par défaut
    Bonjour,

    le code est refait seulement j'ai un décalage sur le compteur
    je m'en sert pour faire mes constructions.

    il est dans un fichier (count.js)

    Code : 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
    25
    26
    27
     
    Count = function(elementId, nowAsUnixTimestamp, finishAtAsUnixTimestamp, refreshFrequency, Page){
      this.element  = document.getElementById(elementId);
      this.now      = new Date(nowAsUnixTimestamp * 1000);    
      this.finishAt = new Date(finishAtAsUnixTimestamp * 1000);
      this.interval = setInterval(function(count){
        var now     = new Date();
        var display = '';
        var sec     = (count.finishAt - now) / 1000;
        var n       = 24 * 3600;
     
        if(0 < sec){
          j  = Math.floor (sec / n);
          h  = Math.floor ((sec - (j * n)) / 3600);
          mn = Math.floor ((sec - ((j * n + h * 3600))) / 60);
          sec = Math.floor (sec - ((j * n + h * 3600 + mn * 60)));
     
        display = "<font size=1 face=Verdana>"+ mn +"</font><font size=1 face=Verdana color=lime>m</font> <font size=1 face=Verdana>"+ sec + "</font><font size=1 face=Verdana color=lime>s</font>";
        }
        else{
          display = "<a href="+ Page +"><font color=#FFCC00 size=2 face=Verdana>Level suivant</font></a>";
          clearInterval(this.interval);
        }
     
        count.element.innerHTML = display;
      }, refreshFrequency, this);
    }
    Voila en faite le temps de construction part defaut c'est (5 Minutes soit 300 secondes) en php je l'ajoute dans ma base de donnée via (time() +300)

    une fois que j'enclenche la construction certain compteur me dit 5 Minutes et 32 secondes ou 5 Minutes et 15 Secondes etc...

    savez vous ou est le problème s'il vous plait ?

    La fonction du script c'est
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    <span id="building-1-count">Recherche...</span>
    <script type="text/javascript">
    new Count('building-1-count', <?php echo date("d/m/Y"); ?>,<?php echo $mine01; ?>, 1000, 'batiments.php?Page=Mine');
          </script>
    Merci

Discussions similaires

  1. Réponses: 0
    Dernier message: 26/11/2011, 15h16
  2. Comment rester sur la même page avec actualiser ?
    Par schnuky dans le forum Débuter
    Réponses: 5
    Dernier message: 30/07/2009, 18h55
  3. [PHP-JS] Envoi de données sur une même page...
    Par dudux dans le forum Langage
    Réponses: 8
    Dernier message: 14/09/2005, 13h51
  4. [QuickReport] Entete de groupe + détail sur la même page
    Par portu dans le forum Bases de données
    Réponses: 3
    Dernier message: 11/06/2005, 10h15
  5. lien sur une même page asp
    Par Redouane dans le forum ASP
    Réponses: 4
    Dernier message: 10/03/2004, 15h53

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