Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
Seguinte, quando o user executa a ação eu gravo a hora que ele fez isso. Depois eu somo essa hora com mais 15 minutos tendo uma nova hora.Ai comparo essa nova hora com a atual.... se for a atual for maior, mostro uma mensagem.Quero saber como somar esses 15 min e depois comparar ?? Qual a melhor forma de tratar esses dados, tipo (datetime, time, varchar, int) pois depois vou gravar em Banco de Dados ??
Firewords, isso que você mostrou vai somar 15 segundos
UPDATE hora SET tempo=tempo+15
é melhor utilisar a função DATE_ADDhttp://dev.mysql.com/doc/mysql/en/date-and...-functions.htmlo formato é:DATE_ADD(date,INTERVAL expr type) ficaria assim:
tempo = DATE_ADD(tempo,INTERVAL 15 MINUTE)
Resolvi meu problema fazendo da seguinte forma.
Hora atual: date("H:i:s");
Hora atual + 15: strtotime("+ 15 minutes");
Então trabalhei assim, ao executar a ação gravo duas var:
$hora_atual = date("H:i:s");$hora_mais_15 = date("H:i:s", strtotime("+ 15 minutes"));
Como tenho uma function que é meu relogio, fico testando sempre a hora atual se é maior que a $hora_mais_15, ou seja:
if ($hora_atual > $hora_mais_15){argumento 1}else{argumento 2}
O que eu gostaria de saber é o seguinte, a forma como estou gerando as horas, como devo definir o campo no BD ??? Para gravar date("H:i:s") no BD, como devo definir o tipo ??
define como TIME
Para quardar a data/hora em que alguma coisa foi inserida, eu uso o datetime. Veja um exemplo de tabela:
CREATE TABLE hora ( tempo datetime);INSERT INTO hora VALUES(NOW())
Sendo que esse "NOW()" insere a data e hora no tempo. E para autera-la faça:
UPDATE hora SET tempo=tempo+15
E de acordo com a sua nescessidade você pode colocar um id com "auto_increment" pra identificar onde deve ser atualizado com os 15 minutos.