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

Cálculo com datas não funciona.


Edilson Santiago

Pergunta

Olá, amigos. Pergunta de principiante, mas to quebrando a cabeça. Preciso listar todas os registros cuja idade hoje seja menor que 9 anos. 

Fiz assim: 

<?php 
$dataatual = date('Y-m-d');
$menos9anos= date('Y-m-d',strtotime('-3286 days'));
$criancas = "SELECT * FROM CadPessoas WHERE DtNasc BETWEEN $menos9anos AND $dataatual";
?>

<html>
  <head></head>
  <body>
  <table> 
        <thead>
            <tr bgcolor=#0404b8>
            <td align=center ><b>ID </b></td> 
            <td align=center ><b>NOME</b></td> 
            <td align=center ><b>CELULAR</b></td> 
            <td align=center ><b>DT.NASC.</b></td> 
            <td align=center ><b>STATUS</b></td> 
            <td align=center ><b>AÇÃO</b></td>
            </tr> 
        </thead>
        <tbody bgcolor=#3232e3>
  		<?php
          $dsn = ("mysql:host=localhost;dbname=meubanco;charset=utf8");
                $user = "meuusuario";
                $pass = "minhasenha";
                $pdo = new PDO($dsn,$user,$pass);
                $stm = $pdo->query($criancas);
                $rows = $stm->fetchAll();
                $count = count($rows);
                ?>
                <div style="color:#ffffff;  font-size:20px;" align="right" text-color="red"><b>Total de registros encontrados: <?php echo $count;?>&nbsp;&nbsp;</b></div>
                <?php
                foreach($rows as $row){
                    echo "<tr>";
                    echo ("<td align=center>{$row['Cod']}</td>");
                    echo ("<td>{$row['Nome']}</td>");
                    echo ("<td>{$row['Cel']}</td>");
                ?>
                    <td align=center><?php echo ( date('d/m/Y', strtotime($row['DtNasc'])) ); ?></td> 
                    <td align=center><?php echo $row['Status']; ?></td>
                    <td align=center><a href="pessoa_completo.php?<?php echo $row['Cod']?>"><img src="../img/more.png" alt="Imagem" height="39" width="100" />
                    </td> 
                <?php } ?>
        </tbody>
        
     </table><br>
    </body>
</html>

Mas ele está retornando pessoas com idade maior, por exemplo, nascidas em 1986. Deveria retornar só de 2013 pra cá. 

Detalhe: todas as datas do campo DtNasc do banco de dados estão salvas no formato 1998-12-04 00:00:00.

Abraços

Link para o comentário
Compartilhar em outros sites

2 respostass a esta questão

Posts Recomendados

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,5k
×
×
  • Criar Novo...