Ir ao conteúdo
  • Cadastre-se

PHP Abrir links com as datas correspondente aos meses cadastrados no banco


Ir à solução Resolvido por DiF,

Posts recomendados

Oi gente!! Vim pedir a ajuda de vocês... Tenho uma tela que 'pega' do banco as datas cadastradas e a fazem de link, nesse link, quero que ela faça a busca de todas as datas que tenham o mês correspondente. Exemplo: Agosto, quando o usuário clicar no mês, exibir todas as datas desse mês, ex.: 15/08/2019, 27/08/2019... Consegui fazer a parte do link, mas não consigo buscar a data de cada mês. 

Isso eu já tenho... Ele ler os meses que tenho no banco e forma um link com ele.

image.png.e1a09615f3bb4f6c9b0a2d702d9c272e.png

image.png.e90bb25450ff668ea9d2962fa3e771c6.png

O que preciso que seja exibido, e nesses links das datas trazer as pessoas aniversariantes dessa data.


Esse é o script em SQL que faz a busca

<?php
$sMesCorrespondente = "
    SELECT DATA_ANIVERSARIO,
      CASE
        WHEN MONTH(DATA_ANIVERSARIO) = '01' THEN 'Janeiro'
        WHEN MONTH(DATA_ANIVERSARIO) = '02' THEN 'Fevereiro'
        WHEN MONTH(DATA_ANIVERSARIO) = '03' THEN 'Março'
        WHEN MONTH(DATA_ANIVERSARIO) = '04' THEN 'Abril'
        WHEN MONTH(DATA_ANIVERSARIO) = '05' THEN 'Maio'
        WHEN MONTH(DATA_ANIVERSARIO) = '06' THEN 'Junho'
        WHEN MONTH(DATA_ANIVERSARIO) = '07' THEN 'Julho'
        WHEN MONTH(DATA_ANIVERSARIO) = '08' THEN 'Agosto'
        WHEN MONTH(DATA_ANIVERSARIO) = '09' THEN 'Setembro'
        WHEN MONTH(DATA_ANIVERSARIO) = '10' THEN 'Outubro'
        WHEN MONTH(DATA_ANIVERSARIO) = '11' THEN 'Novembro'
        WHEN MONTH(DATA_ANIVERSARIO) = '12' THEN 'Dezembro'
      ELSE 'Mês Inválido'
     END AS MES
     FROM ANIVERSARIANTES
     GROUP BY MES
    ";
$sMes  = mysqli_query($conn, $sMesCorrespondente);
?>

Criar o link com os meses

<ul class="list-group">
 <li class="list-group-item">
  <?php
    while ($aMesAniversario = mysqli_fetch_array($sMes)) {
     $aProfessor = mysqli_fetch_array($sListProfessor);
     echo '<a href="pagina.php?colaborador='.$aProfessor['NOME'].'&mes='.$aMesAniversario['MES'].'">'.$aMesAniversario['MES'].'</a><br>';
    }
  ?>
 </li>
</ul>

 

Link para o comentário
Compartilhar em outros sites

  • Moderador
  • Solução

@jalb17 Não sei se entendi, mas você quer trazer os dados completos de todos os usuários cadastrados no mês clicando nos links de acordo com o mês?

 

Basicamente você cria um arquivo chamado processaDados.php. no link passe com get o parâmetro. ou seja o mês que você quer buscar.

Dentro dele faz a consulta a tabela e retorna os dados:

Exemplo:

 

//recebe o dado por parâmetro do link
$mes = $_GET['mes'];


$consulta = mysqli_query($conexao, "SELECT professor.nome, 
                                           professor.aniversario
                                           FROM professores
                                           WHERE MONTH(aniversario) = $mes");

while($aniversariantes = mysqli_fetch_object($consulta):
   echo"
         <div class='lista'>
             <p>$aniversariante->nome - $aniversariante->aniversario</p>
          </div>";  
endwhile;

Caso você queria, é trazer os dados de cada professor aniversariante do mês, aí você pode se basear na pesquisa pelo valor ID. Mas nesse caso, você teria que alterar suas tabelas... criar um relacionamento 1:N...

Link para o comentário
Compartilhar em outros sites

  • Moderador

@jalb17 Então.. é basicamente a minha resposta anterior.

 

Você já tem uma parte do código que lista os meses cadastrados. Agora você só precisa fazer a consulta na tabela baseada no mês e trazer os dados que tem ali.

 

Mas você quer listar todas as pessoas com aniversário em uma data específica ou todas daquele mês?

Ainda não está muito claro.. então é difícil dar uma resposta concreta.

Por gentileza, poderia mostrar como está a estrutura das suas tabelas no banco de dados?

 

 

 

 

 

 

 

  • Curtir 1
Link para o comentário
Compartilhar em outros sites

Crie uma conta ou entre para comentar

Você precisa ser um usuário para fazer um comentário

Criar uma conta

Crie uma nova conta em nossa comunidade. É fácil!

Crie uma nova conta

Entrar

Já tem uma conta? Faça o login.

Entrar agora

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×
×
  • Criar novo...