MadPatryk 0 Denunciar post Postado Novembro 24, 2004 galera, estou com uma pekena duvidazinha basica, eu to fazendo um sistema de controle de laboratorios, eh igual a um controle de lan house... tipo, dai, o usuário pode ficar 1 hora utilizando o computador dos laboratorios... tipo, eu puxo a hora do servidor pra inserir a hora em que o individuo entrou... eu faço o select: //select$qryTempo = mysql_query("select substring(now(),9,2)||'/'||substring(now(),6,2)||'/'||substring(now(),1,4) as data, substring(now(),12,8) as hora");// fetch_row$Tshow = mysql_fetch_row($qryTempo); dai eu puxo o tempo em ki o kra entrou por $Tshow[hora]... dai vai gravar o registro da hora em que ele entrou no mysql... beleza... dai eu faço uma função pra somar a hora + 1...(tempo no qual o usuário pode ficar no lab, 1 hora...) assim: function somahora($str,$value){ //$str = data no fomato(HH:MM:SS) //$value = a quantidade de horas que ele vai somar $hora = substr($str,0,2); $min = substr($str,2,3); $seg = substr($str,5,3); $retorno = $hora+$value; return $retorno . $min . $seg; } beleza... e gravo isso no mysql... como $show[f_tempo]... agora, eu to com um probleminha... como eu faço pra imprimir a hora na tela, contando o tempo do kra... ex, eu to fazendo o seguinte... eu puxo a hora do servidor pelo $Tshow[hora]... dai ele vai ficar contando a hora do server na pagina, beleza...(ah sim, ps: a pagina tem refresh automatico...) dai pra mostrar o tempo ki falta pro kra sair, eu fiz uma subtração assim: $t_saida = $Tshow[hora]; $t_saida -= $show[f_tempo]; vou explicar oq acontece... o Tshow[hora] puxa a hora atual do servidor, logo, ele vai ficar contando a hora no site... dai eu subtraio pela hora de saida do kra... dai ele vai ter ki me retornar o valor diminuido.... tipo, a hora de agora eh 10:17:05 e a hora ki o kra entrou eh de 09:18:05... dai eu subtraio os dois valores dai ele vai me retornar ki faltam 59mins pro kra sair... resolveu?... nao! prq?... prq ele nao me retornou a hora em formato completo... ele simplesmente me retornou um 1! ... f***... dai vem minha pergunta... eu vou ter ki fazer outra função pra subtrair a hora?... alguem me ajuda plx!!!!!!!!!! to apanhando desse troço!!!!!!!! ah tipo, si possivel, coloque tudo em uma função soh pra facilitar!!! e si nao for pedir demais!!! me da um exemplo de como vou fazer isso funcionar!!! prq, alem de tudo... ainda tem o meu whilezinho pra puxar todos os usuários cadastrados!!!!! valeus galera! abração! Compartilhar este post Link para o post Compartilhar em outros sites
rockbilly 0 Denunciar post Postado Novembro 24, 2004 talvez esta função o ajude: PHP [/tr][tr]$h1 = "10:17:05"; $h2 = "09:18:05"; function hora($h1,$h2) { $t1 = split(':',$h1); $t2 = split(':',$h2); $dia = date("d"); $mes = date("m"); $ano = date("Y"); $times1 = mktime($t1[0],$t1[1],$t1[2],$mes,$dia,$ano); $times2 = mktime($t2[0],$t2[1],$t2[2],$mes,$dia,$ano); $sub = $times1-$times2; $div = $sub / 60; return $div; } echo hora($h1,$h2); [/tr] Compartilhar este post Link para o post Compartilhar em outros sites
MadPatryk 0 Denunciar post Postado Novembro 24, 2004 po kra, a funcao pra formatar a hora tipo 00:00:00 nao funcionou nao...ele me retorna soh a hora ki falta... nao os mins e segs...ve pra mim isso por favor!!!valeus! Compartilhar este post Link para o post Compartilhar em outros sites
MadPatryk 0 Denunciar post Postado Novembro 24, 2004 tipo, eu to tentando fazer... eu fiz assim ó: <?$conn = mysql_connect(localhost,root);$dbsel = mysql_select_db(teste,$conn);$qryTempo = mysql_query("select substring(now(),9,2)||'/'||substring(now(),6,2)||'/'||substring(now(),1,4) as data, substring(now(),12,8) as hora");// fetch_row$show = mysql_fetch_array($qryTempo);$f_hora = "17:14:50";$a_hora = date('h:m:s');function somahora($str,$value){ //$str = data no fomato(HH:MM:SS) //$value = a quantidade de horas que ele vai somar $hora = substr($str,0,2); $min = substr($str,2,3); $seg = substr($str,5,3); $retorno = $hora-$value; return $retorno . $min . $seg; } echo somahora($f_hora,$show[hora]);?> soh ki ele nao me retorna os segundos exatos ki faltam... o prq eu sei, mas eu nao sei fazer com ki conte os segundos e minutos ki faltam tbm... help me plx! p.s: moderadores, nao eh flood isso nao, eu postei 2x, prq o post eh grande... si fosse soh uma coisinha, eu editaria... valeus! Compartilhar este post Link para o post Compartilhar em outros sites
rockbilly 0 Denunciar post Postado Novembro 24, 2004 tenta esse aqui então: PHP [/tr][tr]function hora($h1,$h2) { $t1 = split(':',$h1); $t2 = split(':',$h2); $dia = date("d");$mes = date("m"); $ano = date("Y"); $times1 = mktime($t1[0],$t1[1],$t1[2],$mes,$dia,$ano); $times2 = mktime($t2[0],$t2[1],$t2[2],$mes,$dia,$ano); $sub = $times1-$times2; return date("i:s",$sub); } [/tr] Compartilhar este post Link para o post Compartilhar em outros sites
MadPatryk 0 Denunciar post Postado Novembro 24, 2004 tipo kra, ainda nao ta me retornando a hora, soh mins e segs... po, tem como tu ve ai pra mim mano?... desculpa pela incoveniencia!! mas eu to precisando mto saber disso!!! EDIT: kra, eu to tentando fazer, puxando a hora do servidor pra ir contando qdo der o refresh... dai to fazendo assim ó: $conn = mysql_connect(localhost,root);$dbsel = mysql_select_db(teste,$conn);$qryTempo = mysql_query("select substring(now(),9,2)||'/'||substring(now(),6,2)||'/'||substring(now(),1,4) as data, substring(now(),12,8) as hora");// fetch_row$show = mysql_fetch_array($qryTempo);$h1 = $show[hora]; //date('h:m:s');$h2 = "07:55:00";function hora($h1,$h2){$t1 = split(':',$h1);$t2 = split(':',$h2);$dia = date("d");$mes = date("m"); $ano = date("Y");$times1 = mktime($t1[0],$t1[1],$t1[2],$mes,$dia,$ano);$times2 = mktime($t2[0],$t2[1],$t2[2],$mes,$dia,$ano);$sub = $times1-$times2;return date("i:s",$sub);}echo hora($h1,$h2);echo "<p> horario atual: ".$show[hora];mas ele nao ta me retornando o tempo estimado pro kra sair... e sim ta contando o tempo como se fosse um relogio comum... como si eu tivesse puxando a hora do servidor e soh... nao ta contando, eu subtraindo a hora do servidor menos a hora de entrada do usuario... n sei prq... EDIT2: esquece oq eu disse sobre nao estar contando!!! eu dei mole... eu tava contando com o horario de entrada do kra... nao o de saida... mas tipow, tem um pekeno problema... qdo chega em 00:00 o tempo do kra, ki eh pra regressivamente contar negativamente... da erro... nao sei prq... eu fiz um teste com 2 usuários... e o erro ki da eh esse ó: Warning: date(): Windows does not support dates prior to midnight (00:00:00), January 1, 1970 in c:\arquivos de programas\apache group\apache\htdocs\teste_3.php on line 24[b]usuário 1:[/b][b]usuário 2:[/b] 03:44 (tempo pra restante... 3 mins e 44 segs)e tipo, tu ta usando funcao date... po, com ano, mes e dia... ta meio estranho... tem certeza ki eh isso mesmo?tipow, si nao for pedir d+, tem como fazer tudo com a hora do servidor? prq tipo, tem maquinas aki, ki a hora esta errada, e fazendo pelo date ou time, eu acho ki vai babar!!! gheheheh, e pelo sql, vai puxar a hora do servidor, dai nao tem chororo!!! hehehe por favor kra, me ajuda ai, to precisando mto saber dessa parada... ta f***!!! desculpa mesmo pela incoveniencia... mas eh ki eu preciso muito! muito mesmo! valeus kra! Compartilhar este post Link para o post Compartilhar em outros sites
rockbilly 0 Denunciar post Postado Novembro 25, 2004 Sobre a função, passei alguma coisa que pudesse te clarear em algo... o lance é você tentar ir arrumando de acordo com suas necessidades. tenta agora assim: PHP [/tr][tr]function hora($h1,$h2) { $t1 = split(':',$h1); $t2 = split(':',$h2); $dia = date("d");$mes = date("m"); $ano = date("Y"); $times1 = mktime($t1[0],$t1[1],$t1[2],$mes,$dia,$ano); $times2 = mktime($t2[0],$t2[1],$t2[2],$mes,$dia,$ano); $sub = $times1-$times2; if ($times1 > $times2 ) { $datex = date("i:s",$sub); } else { $datex = '- '.date("i:s",abs($sub)); } return $datex; } [/tr] Compartilhar este post Link para o post Compartilhar em outros sites
MadPatryk 0 Denunciar post Postado Novembro 25, 2004 fico beleza kra... mas tu erro num lance... ou inves de if ($times1 > $times2 ){ $datex = date("i:s",$sub); }else{ $datex = '- '.date("i:s",abs($sub)); }return $datex;} seria: if ($times1 > $times2 ){ $datex = '- '.date("i:s",$sub); }else{ $datex = date("i:s",abs($sub)); }return $datex;} dai ele vai retornar a hora negativa qdo o kra passar do tempo! mas tipo kra, soh essa ultima coisa por favor!!! pra fazer a hora?... ainda soh ta contando os mins e segs... tem como fazer contar a hora tbm?... prq tipow, si o kra ficar por mais de 2 hrs no laboratorio.... teria como saber... valeus kra!!! Compartilhar este post Link para o post Compartilhar em outros sites
MadPatryk 0 Denunciar post Postado Novembro 26, 2004 e mais uma coisinha kra, alem dessa minha duvida de cima, de por pra contar a hora tbm... tipowcomo ki eu vou fazer pra contar o $h1(hora de saida) de todos os usuários da table e imprimir na tela isso?! nusseu to apanhando feio aki!!!!valeus kra!!! Compartilhar este post Link para o post Compartilhar em outros sites
MadPatryk 0 Denunciar post Postado Novembro 26, 2004 [up]...????????????? Compartilhar este post Link para o post Compartilhar em outros sites
rockbilly 0 Denunciar post Postado Novembro 29, 2004 [up]... ????????????? entao kra, isso aqui é uma gambi que deve ser o q quer: PHP [/tr][tr]$h1 = "10:17:05"; $h2 = "10:17:04"; function hora($h1,$h2) { $t1 = split(':',$h1); $t2 = split(':',$h2); $dia = date("d");$mes = date("m"); $ano = date("Y"); $times1 = mktime($t1[0],$t1[1],$t1[2],$mes,$dia,$ano); $times2 = mktime($t2[0],$t2[1],$t2[2],$mes,$dia,$ano); $sub = $times1-$times2; $hora = abs($t1[0] - $t2[0]); if (($times1 > $times2 ) || ($times1 == $times2)) $datex = date("$hora:i:s",$sub); else $datex = '- '.date("$hora:i:s",abs($sub)); return $datex; } echo hora($h1,$h2); [/tr] Compartilhar este post Link para o post Compartilhar em outros sites
MadPatryk 0 Denunciar post Postado Novembro 29, 2004 hum... eu vo da uma testada aki veio! EDIT:putz kra, eu testei aki, e ta dando erro kra... tipow: 1:41:52Horário Atual: 15:44:08o horario atual eh 15:44:08eu setei o horario de saida pra 16:26:00 dai ele deveria me retornar soh os mins, tipow 00:44:08 certo? soh ki nao ta funfando... e tem umas perguntas pra fazer... tipo, essas aqui ó: if (($times1 > $times2 ) || ($times1 == $times2)) //prq aki nao tem {// e prq dessa || e desse code => ($times == $times2) ??$datex = date("$hora:i:s",$sub); // oq acontece aki?else //mesmo do if... prq nao entra as chaves ("{") ?? valeus! Braça! Compartilhar este post Link para o post Compartilhar em outros sites
MadPatryk 0 Denunciar post Postado Novembro 30, 2004 po, por favor, me da soh mais essa ajuda kra!!! estamos quase lah!!! tipo, o erro ki da eh o seguinte, ele nao ta interpretando bem a subtração de horas... tipow, qdo eu adciono um user, ele me mostra o tempo certinho 1:00:00 restante... mas qdo atualiza a pagina, dai ele me retorna assim: 1:59:30... e soh qdo faltam 20 mins pro kra sair ki mostra o tempo em formato correto... tipo : 0:23:30... eh bem estranho... mas eh esse o erro ki ta dando... :( EDIT: tipo, achei o erro! eh prq eu tenho a seguinte hora $h1 = 15:00:00; $h2 = 14:59:00; si a subtração eh $hora = abs($t1[0] - $t2[0]); eh obvio ki vai me restar 1 de resultado!!! e o burro aki(eu) nao pensou nisso!!! tipo, 15 - 14 = 1... dai eh soh adcionar -1 ki vai funfar tranks!!! tipo $hora = abs($t1[0] - $t2[0] -1); nossa to moh feliz!!! mto mto mesmo! valeus kra, valeus galera IM! Braça! Compartilhar este post Link para o post Compartilhar em outros sites