terça-feira, 22 de setembro de 2015

Contagem regressiva com PHP, PDO e MySQL



Este tutorial explica como inserir em seu site uma contagem regressiva em dias para eventos futuros. Para isso, usaremos a função “Datediff” do MySQL e um “alias” (um apelido). Este “alias” não é obrigatório, mas vamos utilizá-lo para facilitar o entendimento.


1. O passo preliminar é vc ter uma tabela em seu banco de dados com as seguintes colunas: id, nome do evento (tipo "varchar") e a data (DateTime ou Timestamp), que chamei de “dia_evento”. Insira alguns registros para teste e siga o passo a passo:


2. Abra a página onde vc deseja inserir a contagem regressiva; insira o seguinte código:

<?php

// conexão

$stmt = $con->prepare("SELECT DATEDIFF(dia_evento, curdate()) as 'quantosdiasfaltam', nome, dia_evento from tb_eventos where dia_evento>curdate()");
$stmt->execute();
$resultados = $stmt->rowCount();

if($resultados>0){
echo "Evento(s) encontrado(s): ".$resultados."<br /><br />";
while($reg = $stmt->fetch(PDO::FETCH_OBJ))
   {
   echo "Faltam ".$reg->quantosdiasfaltam." dias para ";
   echo $reg->nome." - ";
   echo $reg->dia_evento."<br />";
   }
}
else{
echo "não existem eventos futuros cadastrados";
}
?>

3. salve e teste no navegador: