Ir para conteúdo
Fórum Script Brasil
  • 0

(dúvida)Aperfeiçoar função.


Granamir

Pergunta

Opa, beleza?!

Tem uma função em um site que estou mexendo, que mostra o conteúdo de uma coluna de certa tabela do mysql.

Esse conteúdo é um delay de tempo que cada item da tabela possuí(cada um tem um tempo diferente) e está em

segundos. Alguns vão ter um tempo de 82 segundos e outros podem chegar a ter mais de 200 mil segundos, por exemplo(alguns tem até mais que isso).

Esse tempo é apenas uma referência, mas precisa aparecer no site.

A estrutura do site que eu peguei é mais ou menos assim:

1- A função está dentro do arquivo tables.js . Nesse arquivo tem a "var tables" e dentro dela estão todas as funções(existem outros arquivos *.js, mas não vem ao caso agora).

'respawn_delay': function(){

string.push('<td nowrap>'+row['respawn_delay']+'</td>');

},

2- Em outro diretório tem um arquivo php que faz a pesquisa no mysql.

3- E a saída é em um arquivo html:

<table class="t_b" border="0" cellpadding="1" cellspacing="0"><tr><td>

<table border="0" cellpadding="3" cellspacing="0" width="600">

<tr align="center" class="t_h_f">

<td rowspan="11"><img src="i/mobs/@this::icon@"/></td>

<td colspan="3" rowspan="2" width="250" class="t_b_f">

@code::sh_Elink('map','monster',array['mob_id],base_map_button)@<font class="t_n_t">@this::name@</font><br>

<font size="-2">@this::type@</font><br>

//Aqui começa o que interessa: <font color="#EEDD82" size="1">@table:monster:respawn_delay@</font>  <font color=#EEDD82 size=2>@this::respawn_delay@</font> <font color=#EEDD82 size=-2>segundos.</font> //Aqui termina

</td>

<td>@table:monster:level@</td>

</tr><tr align="center" class="t_b_f">......

Com isso, no site aparece o tempo em segundos. Está funcionando legal, mas seria muito melhor se fosse possível converter esses segundos em horas, minutos e segundos. Eu tentei seguir alguns exemplos que encontrei, inclusive aqui no forum tem um, mas não consegui (js não é o meu forte :rolleyes: ).

O que complica é fazer uma pesquisa e ver um tempo de 25864449 segundos como resultado.

Se alguém tiver uma idéia eu agradeço.

Link para o comentário
Compartilhar em outros sites

4 respostass a esta questão

Posts Recomendados

  • 0

Tenta fazer assim:

Pega essa parte que muda os segundos e acrescenta um id, deixando assim:

<font color=#EEDD82 size=-2 id="mensagem_tempo">segundos.</font
E depois utiliza o seguinte JavaScript
var x, tempo1, tempo_hora, tempo_min
function MudaValor() {
x = document.getElementById("mensagem_tempo")
tempo1 = parseInt(x.innerHTML)
tempo_hora = parseInt(tempo1/3600)
tempo_min = tempo1 % 3600
x.innerHTML = tempo_hora + " horas e " + tempo_min + " segundos"
}
Depois chame a função com o evento "onload" do body
<body onload="MudaValor()">

Tenta aí e vê se funciona !

Link para o comentário
Compartilhar em outros sites

  • 0

Não deu certo, mas também não deu erro, apenas não apareceu nada.

Eu sei que a lógica da sua função está correta. Acho que o "problema" está

na forma como o site foi estruturado(pelo menos pra mim é confuso).

Se for o caso eu posso até enviar as páginas em questão pra você ter uma noção melhor da estrutura.

Mas de qualquer maneira obrigado. Vou deixar essa parte por último, pois ainda tem um monte de coisas pra corrigir

e o prazo tá ficando curto :D

Muito obrigado pela ajuda!

Link para o comentário
Compartilhar em outros sites

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,3k
    • Posts
      652,3k
×
×
  • Criar Novo...