junaooaks 3 Denunciar post Postado Fevereiro 11, 2011 ola to com problema preciso de manter no banco de dados a data como varchar e preciso de comparar com a data atual estava pensando em converter a data para a data linux(strtotime) so que o que me retona da consulta no bando de dados nao consigo converter //data do banco de dados que e varchar $data = $row['data']; //data atual $hoje= date('d/m/Y'); $hoje = strtotime($hoje); //explode o campo data $explode = explode("a ", $data); $date = $explode[1]; //compara se campo date esta vazio if(empty($date)){ $date = $explode[0]; $date = strtotime($date) } if ($date<$hoje){ echo "finalizado"; } com a data que me retorna no banco de dados nao consigo comparar corretamente. Compartilhar este post Link para o post Compartilhar em outros sites
Andrey Knupp Vital 136 Denunciar post Postado Fevereiro 11, 2011 pode informar oque está retornando para podermos analizar ? Abraços Compartilhar este post Link para o post Compartilhar em outros sites
junaooaks 3 Denunciar post Postado Fevereiro 11, 2011 pode informar oque está retornando para podermos analizar ? Abraços so retorna a data hoje $hoje = strtotime($hoje); a data que recebo do banco de dados fica vazio; Compartilhar este post Link para o post Compartilhar em outros sites
Andrey Knupp Vital 136 Denunciar post Postado Fevereiro 11, 2011 e porcausa do explode , ja tentou com str_replace? Compartilhar este post Link para o post Compartilhar em outros sites
InterPlanet 7 Denunciar post Postado Fevereiro 11, 2011 Opa! Quanto ao explode, comforme @Andrey falou, tem de corrigir, veja: function.explode(). Contudo, creio que nao precisara dela. A forma correta que utilizo para comparar datas é as conventendo em timestamp (que é um inteiro, facilitando a comparacao, que representa a data), se interessar, posto exemplo, abraço. Compartilhar este post Link para o post Compartilhar em outros sites
junaooaks 3 Denunciar post Postado Fevereiro 12, 2011 usando explode //teste junao $data = explode('a ',$data); $datai = $data[0]; $dataf = $data[1]; if($dataf != ''){ $dataf = strtotime($dataf); echo "data final = $dataf"; }else{ $datai = strtotime($datai); echo "data inicial = $datai"; } nao deu certo, e nao entendi como a função str_replace funciona neste caso(pelo que entendi a função tira as letras da string) me corrigi Compartilhar este post Link para o post Compartilhar em outros sites
Andrey Knupp Vital 136 Denunciar post Postado Fevereiro 12, 2011 não , ela não tira letra das string , ela subistitui , o EXPLODE e basicamente um str_replace² você ta removendo a e espaço no str_relace seria str_replace("a ","",$data); // ia remover o a com espaço Abraços Compartilhar este post Link para o post Compartilhar em outros sites
junaooaks 3 Denunciar post Postado Fevereiro 14, 2011 galera descobrir a data no banco de dados esta com "/"(14/02/2011) mudei para "-"(14-02-2011) resolveu Compartilhar este post Link para o post Compartilhar em outros sites