Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
Olá pessoal, estou precisando de uma ajuda ae.
Tenho uma tabela no banco de dados chamada "vencimento", com datas em formato VARCHAR (29/04/2016).
O bagulho é o seguinte, tenho uma página de faturas, onde só será exibido as faturas para vencer, com 5 dias de antecedência.
Usei o seguinte código e não funcionou:
<?php
$limite = date("d/m/Y", strtotime("-5 Days"));
$sql_rev = mysql_query("SELECT * FROM revendas WHERE cliente = '$id_cliente'");
while($rev = mysql_fetch_array($sql_rev)){
$vencimento_rev = $rev['vencimento'];
if(strtotime($vencimento_rev) >= $limite){
?>
<tr>
<td><a href="" title=""><?php echo $rev['revenda'] ?></a></td>
<td class="hidden-xs"><?php echo $rev['ciclo'] ?></td>
<td><?php echo $rev['vencimento']; ?></td>
<td class="hidden-xs"><?php echo $rev['status'] ?></td>
</tr>
<?php } } ?>
Está retornando vazio :(
O que posso fazer?
Concordo, o formatado da data está totalmente errado, mas não é necessária essa volta toda para resolver isto, pois strtotime suporta dd-mm-yyyy, então...
$limite = strtotime("-5 Days");
$sql_rev = mysql_query("SELECT * FROM revendas WHERE cliente = '$id_cliente'");
while($rev = mysql_fetch_array($sql_rev)){
$vencimento_rev = strtotime(str_replace('/','-',$rev['vencimento']));
if($vencimento_rev >= $limite){Pronto arrumei aqui, funcionou, vlw aí pessoal!
Amigo, primeiro recomendo mudar data de varchar para date no bd, senão você vai ficar precisando de gambiarras no código.
<?php
//data limite
$limite = "20/05/2016";
//Data do banco
} elseif($dataBD == $limite){
echo $dataBD." -Data igual";
} else{
A mesmo esquema da outra, mas aqui você substitui o valor da $dataBD pelo valor vencimento retornado na consulta
Valeo