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

função em php pra comparar as datas


mostapha

Pergunta

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..

Link para o comentário
Compartilhar em outros sites

7 respostass a esta questão

Posts Recomendados

  • 0
		$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 por mostapha
Link para o comentário
Compartilhar em outros sites

  • 0

$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.

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,1k
    • Posts
      651,8k
×
×
  • Criar Novo...