mostapha Postado Novembro 3, 2014 Denunciar Share Postado Novembro 3, 2014 Preciso de ajuda numa Função preciso comparar as datas que tenho salvo no banco e fazer IF se data Hoje for igual a do banco fica cor preta se data Hoje for Menor que a do banco fica cor Azul se data Hoje for Maior que a do banco Fica vermelha $data_atual=date('d/m/Y'); obs: $linha4['PRODAT'] e a data do banco if($linha4['PRODAT']==$data_atual){ echo '<font color=#000000>'.$linha4['PRODAT'].'</font>'; //cor preta }else{ if($linha4['PRODAT']<$data_atual){ echo '<font color=#FF0000>'.$linha4['PRODAT'].'</font>'; //cor vermelha }else{ echo '<font color=#0000FF>'.$linha4['PRODAT'].'</font>'; //cor azul } } não sei por que não deu certo parece que ele so comparar o dia e não o dia/mes/ano agradeço desde já Att.. Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Sandro2011 Postado Novembro 4, 2014 Denunciar Share Postado Novembro 4, 2014 Boa noite, você tem de usar a função timestamp do PHP. Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 mostapha Postado Novembro 4, 2014 Autor Denunciar Share Postado Novembro 4, 2014 mais se eu usar função timestamp ele vai buscar datas e horas também preciso separar onde ia resultar no mesmo erro.. Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 mostapha Postado Novembro 5, 2014 Autor Denunciar Share Postado Novembro 5, 2014 ainda não consegui fazer isso alguém tem um exemplo... Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Sandro2011 Postado Novembro 5, 2014 Denunciar Share Postado Novembro 5, 2014 Converte a sua data dd/mm/aaaa em mm/dd/aaaa e joga no strtotime Você faz isso para as duas datas que você quer comparar. Depois, o resultado do strtotime que for maior, quer dizer que a data é maior Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 mostapha Postado Novembro 5, 2014 Autor Denunciar Share Postado Novembro 5, 2014 (editado) $data_atual=date('d/m/Y'); $timestamp_dt_atual =strtotime($data_atual); $timestamp_dt_banco =strtotime($linha4['PRODAT']); if($timestamp_dt_banco==$timestamp_dt_atual){ echo '<font color=#000000>'.$timestamp_dt_banco.'</font>';//se for igual fica preto }else{ if($timestamp_dt_banco < $timestamp_dt_atual){ echo '<font color=#FF0000>'.$timestamp_dt_banco.'</font>';//se for menor fica vermelho }else{ echo '<font color=#0000FF>'.$timestamp_dt_banco.'</font>';//se for maior fica azul } } fiz que mandou usando Strtotime mais o retorno desse resultado é monte números sem sentido... parece fácil mais não é.. Editado Novembro 5, 2014 por mostapha Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Sandro2011 Postado Novembro 5, 2014 Denunciar Share Postado Novembro 5, 2014 $data_atual=date('d/m/Y'); $timestamp_dt_atual =strtotime($data_atual); $timestamp_dt_banco =strtotime($linha4['PRODAT']); if($timestamp_dt_banco==$timestamp_dt_atual){ echo '<font color=#000000>'.$timestamp_dt_banco.'</font>';//se for igual fica preto }else{ if($timestamp_dt_banco < $timestamp_dt_atual){ echo '<font color=#FF0000>'.$timestamp_dt_banco.'</font>';//se for menor fica vermelho }else{ echo '<font color=#0000FF>'.$timestamp_dt_banco.'</font>';//se for maior fica azul } }fiz que mandou usando Strtotime mais o retorno desse resultado é monte números sem sentido... parece fácil mais não é.. Ninguém disse que é fácil. $data_atual=date('m/d/Y'); // strtotime trabalha com mm/dd/aaa $timestamp_dt_atual =strtotime($data_atual); list($d,$m,$a)=explode('/',$linha4['PRODAT']); // aqui estou assumindo que $linha4['PRODAT'] está no formato brasileiro dd/mm/aaaa $data_para_comparar=$m . '/' .$d. '/' . $a; $timestamp_dt_banco =strtotime($data_para_comparar); if($timestamp_dt_banco==$timestamp_dt_atual){ echo '<font color=#000000>'.$timestamp_dt_banco.'</font>';//se for igual fica preto }else{ if($timestamp_dt_banco < $timestamp_dt_atual){ echo '<font color=#FF0000>'.$timestamp_dt_banco.'</font>';//se for menor fica vermelho }else{ echo '<font color=#0000FF>'.$timestamp_dt_banco.'</font>';//se for maior fica azul } } Só faltou transformar a data para padrão americano. Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 mostapha Postado Novembro 6, 2014 Autor Denunciar Share Postado Novembro 6, 2014 deu certo muito obrigado por me ajudar nisso tava foda de fazer. att.. Citar Link para o comentário Compartilhar em outros sites More sharing options...
Pergunta
mostapha
Preciso de ajuda numa Função preciso comparar as datas que tenho salvo no banco e fazer IF
se data Hoje for igual a do banco fica cor preta
se data Hoje for Menor que a do banco fica cor Azul
se data Hoje for Maior que a do banco Fica vermelha
não sei por que não deu certo parece que ele so comparar o dia e não o dia/mes/ano
agradeço desde já
Att..
Link para o comentário
Compartilhar em outros sites
7 respostass a esta questão
Posts Recomendados
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.