Ir para conteúdo

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Gilberto Jr

Cronometro Regressivo Com While

Recommended Posts

Boa tarde;

 

Estou tento problema com um cronometro regressivo que eu tenho. Eu tenho esse código que mostra todas as informações que esta no banco de dados com a pesquisa. Nesse select eu trago a data limite que eu ja tenho cadastrado no banco de dados.

<table border="1">
<%
set atendimento = conn.execute("select atend.datalimite as datalimite, cr.descricao as cr, atend.email as envioemail,cliente.contatoemail as email,atend.id_atendente as colaborador,cliente.id as idcliente,numero_chamado,data_chamado,hora_chamado,cliente.fantasia_apelido,atend.descricao,atend.os,atend.situacao,atend.id from tec_atendimentos as atend inner join tec_clientefornecedor as cliente on atend.id_loja = cliente.id inner join tec_c_responsabilidade as cr on atend.id_cr=cr.id inner join rede as rede on atend.id_rede=rede.id where atend.id in('17375','17376') order by id asc")
%>
<%
while atendimento.eof = false
%>
  <tr>
    <td><%=atendimento("id")%></td>
    <td>
<%
datavalendo = atendimento("datalimite")
%>
<script language="javascript">
        var YY = <%=year(datavalendo)%>;
        var MM = <%=month(datavalendo)%>;
        var DD = <%=day(datavalendo)%>;
        var HH = 23;
        var MI = 59;
        var SS = 59;
                
  function atualizaContador() {
  var hoje = new Date();
  var futuro = new Date(YY,MM-1,DD,HH,MI,SS); 

  var ss = parseInt((futuro - hoje) / 1000);
  var mm = parseInt(ss / 60);
  var hh = parseInt(mm / 60);
  var dd = parseInt(hh / 24); 

  ss = ss - (mm * 60);
  mm = mm - (hh * 60);
  hh = hh - (dd * 24); 
  
if (ss < 10) {
    ss = "0"+ss;
} else {
   ss = ss;
}
if (mm < 10) {
    mm = "0"+mm;
} else {
   mm = mm;
}

if (hh < 10) {
    hh = "0"+hh;
} else {
   hh = hh;
}

  //var faltam = '';
  //faltam += (toString(hh).length) ? hh+':' : '';
  //faltam += (toString(mm).length) ? mm+':' : '';
  //faltam += ss+''; 
  
  	var faltam = '';
	faltam += (dd && dd > 1) ? dd+' dias, ' : (dd==1 ? '1 dia, ' : '');
	faltam += (toString(hh).length) ? hh+':' : '';
	faltam += (toString(mm).length) ? mm+':' : '';
	faltam += ss;

  if (dd+hh+mm+ss > 0) {
    document.getElementById('contador').innerHTML = faltam;
    setTimeout(atualizaContador,0);
  } else {
    document.getElementById('contador').innerHTML = 'ACABOU';
	document.getElementById("btnSalvarp").disabled = true;
    setTimeout(atualizaContador,0);
  }
}

</script>
<span id="contador"></span>

    </td>
  </tr>
<%
atendimento.movenext
wend
%>
</table>

Esse scripit faz um while só que o cronometro só pega no primeiro item monstrado. Não coloca o cronometro para cada linha. Só coloca na primeira.

 

Alguém pode me ajudar?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Fiz assim e deu certo.

<%@LANGUAGE="VBSCRIPT" CODEPAGE="65001"%>
<%
dim conn
'Criamos o objeto de conexão
Set conn = Server.CreateObject("ADODB.Connection") 
 
'Abrimos uma conexão com o banco de dados - [IMPORTANTE] altere os dados abaixo com as informações de sua base de dados
conn.Open("DRIVER={MySQL ODBC 5.1 Driver};SERVER=localhost;PORT=3306;DATABASE=basedados;USER=root;PASSWORD=123456;OPTION=3;")
'arquivo que checa se existe o login e a senha do usuario que esta tentando logar
%>
<!doctype html>
<html>
<head>
<meta charset="utf-8">
<title>Contador</title>
</head>
 
<body>
 
<table border="1" style="width:300px; margin:auto;">
<%
set atendimento = conn.execute("select atend.flagfaturamento as flag, date(atend.datalimite) as datalimite, cr.descricao as cr, atend.email as envioemail,cliente.contatoemail as email,atend.id_atendente as colaborador,cliente.id as idcliente,numero_chamado,data_chamado,hora_chamado,cliente.fantasia_apelido,atend.descricao,atend.os,atend.situacao,atend.id from tec_atendimentos as atend inner join tec_clientefornecedor as cliente on atend.id_loja = cliente.id inner join tec_c_responsabilidade as cr on atend.id_cr=cr.id inner join rede as rede on atend.id_rede=rede.id where atend.situacao=1 or atend.situacao=5 order by id asc")
%>
<%
while atendimento.eof = false
%>
  <tr>
    <td><%=atendimento("id")%></td>
    <td>
<%
datavalendo = atendimento("datalimite")
hora = right(atendimento("hora_chamado"),8)
%>
<time data-end="<%=year(datavalendo)%>-<%=month(datavalendo)%>-<%=day(datavalendo)%>-<%hour(hora)%>-<%minute(hora)%>-<%second(hora)%>" class="counter"></time>
 
    </td>
  </tr>
 
<%
atendimento.movenext
wend
%>
</table>
 
<script src="js/time-counter.js"></script>
 
 
<script>
var $counters = [].slice.call(document.querySelectorAll('.counter'));
 
timeCounter($counters);
setInterval(function () {
  timeCounter($counters);
}, 1000);
</script>
</body>
</html>
<%
conn.Close()
'Destruímos o objeto
Set conn = Nothing

%>

 

Att;

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.