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

(Resolvido) Problemas com comparação


Proteu

Pergunta

Bem pessoal,

não no código abaixo eu gostaria que caso a data1 fosse mariro do que a data 2 entrasse no if... o que não está acontecendo

Acredito que o problema estja no meu sinal de ">"

data1 e data2 recebem datas de inicio e fim de pesquisa...

Onde estou errando??

<?php
require("../../banco.php");

$dia = explode("/",$_POST['data1']);
$data1 = $dia[2]."-".$dia[1]."-".$dia[0];

$dia = explode("/",$_POST['data2']);
$data2 = $dia[2]."-".$dia[1]."-".$dia[0];

$tipo=$_POST['tipo'];


[b][/b]if (!empty($_POST['data1']) && !empty($_POST['data2']) && (($_POST['data1']) > ($_POST['data2']))){[b][/b]

 echo "&lt;script>alert(A data de fim é maior do que a de inicio'); </script>";
$sql = "SELECT tipo,date_format(data,'%d/%m/%Y') as data, valor, nota,destino FROM financeiro GROUP BY cod  order by data";

}else if (!empty($_POST['data1']) && !empty($_POST['data2']) && ($_POST['tipo'] == "entrada")) {
.
.
.

Obrigado.

Editado por Proteu
Link para o comentário
Compartilhar em outros sites

4 respostass a esta questão

Posts Recomendados

  • 0
Uma coisa que eu reparei..

você ta dizendo que se data1 for maior que a data2 vai exibir a mensagem:

A data de fim é maior do que a de inicio

Mas a data 1 não é a data de inicio?

"Falha nossa" a mensagem está trocada....deveria ser "a data de fim é menor do que a data de inicio"....mas mensagem é o de menos...o importante é entrar no if....

Se eu coloco "==" para fazer a comparação e insiro valores iguais nas datas eu consigo que a mensagem seja exibida, acontece o mesmo quando coloco menos ou igual ou maior ou igual(e coloco as datas de forma a satisfazer a comparação)...

Só que não consigo usar nem maior(">") e nem menor("<")

Obrigado pela atenção...

Link para o comentário
Compartilhar em outros sites

  • 0

Proteu,Bom Dia!!

Kara, eu tava com alguns problemas com comparação entre datas, então a função abaixo me ajudo.

Faça um teste com ela e veja se consegue resolver seu problema.

/*
     * Função que recebe uma data e retorna a data em formato unix
     */

    function dataUnix( $data )
    {
      $parte = explode( '/' , $data );
      $formata = strtotime( $parte[1] . '/' . $parte[0] . '/' . $parte[2] );
      return $formata;
    }


        
       /*
    *Compara a datas
    */

    $dataInicial = trim( $_POST['data1'] );
    $dataFinal   = trim( $_POST['data2'] );

    if ( dataUnix( $dataInicial ) > dataUnix( $dataFinal  ) )
    {
        print "$dataInicial é maior do que $dataFinal";
    exit;    
    }

Abraço

Editado por Romero Dias
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...