Gleilson 0 Denunciar post Postado Abril 9, 2010 Estou com problemas, quando comparo duas datas, esse codigo apenas compara o dia, e eu queria comparar o dia, mes e ano: Ex: $data_atual = date('Y-m-d'); if($data_atual<$sql['vencimento']){ echo "<td>Pendente</td>";} elseif(date('Y-m-d')==$sql['vencimento']){ echo "<td>Dia do Pagamento</td>";} else{ echo "<td>Ok</td>";} Isso funciona qunado falamos apenas do mes corrente: Supondo que $data_atual = 2010-04-09. ex1: Supondo que $sql['vencimento'] = 2010-04-06 aí beleza a resposta é "OK". Ex2: Supondo que $sql['vencimento'] = 2010-04-10 aí beleza a resposta é "Pendente", Ex3: Mas quando a $sql['vencimento'] = 2010-05-01, Utrapassando o mes corrente aí também a resposta é "pendente". Como eu faço para a resposta ser "Ok" em vez de Pendente, pois a cada mes começa um novo ciclo de vericação dos if; Compartilhar este post Link para o post Compartilhar em outros sites
kakaroto developer 0 Denunciar post Postado Abril 9, 2010 use isso mysql> SELECT DATEDIFF('1997-12-31 23:59:59','1997-12-30'); -> 1 mysql> SELECT DATEDIFF('1997-11-31 23:59:59','1997-12-31'); -> -30 mysql> SELECT TIMEDIFF('2000:01:01 00:00:00', '2000:01:01 00:00:00.000001'); -> '-00:00:00.000001' mysql> SELECT TIMEDIFF('1997-12-31 23:59:59.000001','1997-12-30 01:01:01.000002'); -> '46:58:57.999999' :) esse dados no vem do banco Compartilhar este post Link para o post Compartilhar em outros sites
Gleilson 0 Denunciar post Postado Abril 9, 2010 Apenas $sql['vencimento'], a #data_atual eu pego no codigo com php atraves do comando: $data_atual = date('Y-m-d'); Compartilhar este post Link para o post Compartilhar em outros sites
Gleilson 0 Denunciar post Postado Abril 9, 2010 Eu preciso saber qual a data maior e nao a diferença de dias entre elas , entende, mas usando dia, mes e ano...Ajudem aí... Compartilhar este post Link para o post Compartilhar em outros sites
Denis_Uyeda 0 Denunciar post Postado Abril 9, 2010 Bom, indo por partes: Se hoje for menor do que vencimento então PENDENTE Se hoje for igual ao vencimento então DIA DO PAGAMENTO Se hoje for maior do que o vencimento então OK hoje = 2010-04-09 vencimento = 2010-05-01 2010-04-09 é menor do que 2010-05-01 então é PENDENTE Não tem nada de errado aí, porque o OK nesse caso só virá quando o dia do vencimento ainda não tiver chegado Mas se o que você quis dizer foi que ao virar o mês deve aparecer Ok, então você eu bolei uma gambiarra aqui: list($dia, $mes, $ano) = explode("-",$data_atual); list($dia2, $mes2, $ano2) = explode("-",$sql['vencimento']); if($data_atual<$sql['vencimento'] && $mes == $mes2){ echo "<td>Pendente</td>";} elseif(date('Y-m-d')==$sql['vencimento']){ echo "<td>Dia do Pagamento</td>";} else{ echo "<td>Ok</td>"; } Desse modo você verifica o mês. Se não estiver no mesmo mês atual e o mês do vencimento, então exibe OK Compartilhar este post Link para o post Compartilhar em outros sites
Gleilson 0 Denunciar post Postado Abril 10, 2010 obg... Denis_Uyeda, resolveu o meu problema...Valeu msm. Compartilhar este post Link para o post Compartilhar em outros sites