1. Este site usa cookies. Ao continuar a usar este site está a concordar com o nosso uso de cookies. Saber Mais.

repetir funçao após 1s , js e php

Discussão em 'Web Development' iniciada por Hugo_Carvalho, 11 de Outubro de 2008. (Respostas: 0; Visualizações: 1120)

  1. Hugo_Carvalho

    Hugo_Carvalho Power Member

    Boas,

    Quero criar um contador, onde o tempo vai "decrescendo" e assim...
    Código:
    
    <?php
    
    
    $start = 0;
    
    function display_cd() {
    $start = "5110"; // este é, por exemplo, o tempo em segundos.
    $days = intval(($start / 86400));
    $hours = intval((($start - ($days * 86400 ))/3600)); 
    $minutes = intval((($start - ($days * 86400 ) - ($hours * 3600 ))/60));
    $secs = intval((($start - ($days * 86400 ) - ($hours * 3600 ) - ($minutes * 60))));
    echo $days . " D<br>";
    echo $hours . " H<br>";
    echo $minutes . " M<br>";
    echo $secs . " S<br>";
    
    $start = $start - 1; // aqui é para subtrair menos um segundo.
    
    }
    
      
    o que queria agora, era algo que repetisse a funçao de 1s em 1s por exemplo, para o tempo ir "decrescendo".

    Algo deste tipo em js, mas que queria em php, se possivel ( a funçao time_cd() era uma parecida á que está em cima, mas em js).

    Código:
    var end=0;
    var refresh=1000;
    if(window.start >= end ){
    setTimeout('time_cd()',refresh) 
      
    outra coisa... se usar o javascript que tenho, ele faz primeiro o php e dps é que faz a contagem .... eu queria que fosse "durante a execução" do php (enquanto página está a carregar):



    Código:
    <?php
    
    echo '<script>
    
    function start_cd(start){
    // start = time in secs. so...
    window.start = parseFloat(start);
    var end = 0;
    var refresh=1000;
    
    if(window.start >= end ){ // if the timer > 0 (= not finished)...
    mytime=setTimeout("time_cd()",refresh) // the function time_cd() will be called every milisecond! 
    }
    else {// when the timer ends (start = 0) ....
    document.getElementById("place").innerHTML = "<H1>DONE!</H1>"; 
    }
    
    }
    
    function time_cd() {
    var days = Math.floor(window.start / 86400); // 1 h = 86400s
    var hours = Math.floor((window.start - (days * 86400 ))/3600) 
    var minutes = Math.floor((window.start - (days * 86400 ) - (hours * 3600 ))/60)
    var secs = Math.floor((window.start - (days * 86400 ) - (hours * 3600 ) - (minutes * 60)))
    
    var text = "<h2>" + window.start + " segundos</h2> <br>(" + days + " Dias " + hours + " Horas " + minutes + " Minutos e " + secs + " Segundos " + " !!)";
    document.title = text;
    document.getElementById("place").innerHTML = text;
    window.start = window.start - 1; //decrement 1 second.
    
    tt=start_cd(window.start);
    }
    </script>';
    
    $exec_time = $_GET['time'];
    ?>
    <script> start_cd(<? echo $exec_time; ?>);</script>
    <?
    print "... ";
    print "<center><span id='place'></span></center>";
    
    
    
    $time = time();
    
    
    $max_time = $time+$exec_time;
    
    
    
    for($i=0;$i<65535;$i++){
            $out .= "X";
    }
    while(1){
    
    
            if(time() > $max_time){
                    break;
            }
            
            echo "";
      ( ... )
    
            }
    }
    
    
    
    ?>
      
    Obrigado :)
     
    Última edição pelo moderador: 13 de Outubro de 2008

Partilhar esta Página