aryy_diaz 0 Denunciar post Postado Julho 20, 2016 OLA AMIGOS .. É o seguinte, criei um select option ( com todos os meses do ano)o objetivo era selecionar um mes aperta no botão( Gerar relatório ) e assim imprimir na minha tabela os aniversários daquele mês.Só que eu não sei qual erro que eu to cometendo que não imprimi . <?php include 'conexao.php'; ?> <h1>Relatório de Aniversariantes</h1> <br/> <center> <form method="post" action="relatorioaniversariantes.php"> Selecione o mes que deseja a relação: <select name="mes"> <option value="selecione" name="mes" >Selecione</option> <option value="Janeiro" name="mes">Janeiro</option> <option value="Fevereiro" name="mes">Fevereiro</option> <option value="Março" name="mes">Março</option> <option value="Abril" name="mes">Abril</option> <option value="Maio" name="mes">Maio</option> <option value="Junho" name="mes">Junho</option> <option value="Julho" name="mes">Julho</option> <option value="Agosto" name="mes">Agosto</option> <option value="Setembro" name="mes">Setembro</option> <option value="Outubro" name="mes">Outubro</option> <option value="Novembro" name="mes">Novembro</option> <option value="Dezembro" name="mes">Dezembro</option> </select> <input type="submit" value=" Gerar Relatório " name="gerar"> </form> </center> <br/><br/> <?php $mes = date("mes"); $dia = date("dia"); $resultado = mysql_query("SELECT nome, DAY(dataAniversario) AS dia," . " MONTH(dataAniversario) AS mes FROM dadoscliente"); echo"<center><table width='50%' border='1' class='bordasimples'style='background-color: #fbe7e7 ; font-family: Arial Unicode MS' >"; echo"<tr>"; echo"<th>DIA</th>"; echo"<th>NOME</th>"; echo"<th>MÊS</th>"; echo"</tr>"; while ($row = mysql_fetch_array($resultado)) { if ($row['mes'] == $_mes) { echo "<tr>"; echo "<td>".$row['dia']."</td>"; echo "<td>".$row['nome']."</td>"; echo "<td>".$row['mes']."</td>"; echo "</tr>"; } } echo "</table></center>"; ?> Compartilhar este post Link para o post Compartilhar em outros sites
ESerra 744 Denunciar post Postado Julho 20, 2016 Pela sua query vou assumir que o campo é date (ano-mês-dia), então o primeiro pronto: if ($row['mes'] == $_mes) 'mes' contêm o mês numérico, $mes contêm o mesmo por extenso... Segundo ponto, em vez de usar essa gambiarra horrorosa, basta: $resultado = mysql_query("SELECT nome, DAY(dataAniversario) AS dia," . " MONTH(dataAniversario) AS mes FROM dadoscliente WHERE month(dataAniversario) = '10'"); Onde 10 é o mês (no caso outubro), ai você remove aquele if de dentro do laço e boa. Compartilhar este post Link para o post Compartilhar em outros sites
aryy_diaz 0 Denunciar post Postado Julho 20, 2016 Muito obrigado O.o ajudou abrir minha mente . Na verdade meu select option estava com value "letras", mas na verdade meu banco guarda a data como "números". E alterei o meu if, colocando o POST . E deu tudo certo . Segue o código, se alguem precisar ta ai :) <center> <form method="post" action="relatorioaniversariantes.php"> Selecione o mes que deseja a relação: <select name="mes"> <option value="selecione" name="mes"></option> <option value="01" name="mes">Janeiro</option> <option value="02" name="mes">Fevereiro</option> <option value="03" name="mes">Março</option> <option value="04" name="mes">Abril</option> <option value="05" name="mes">Maio</option> <option value="06" name="mes">Junho</option> <option value="07" name="mes">Julho</option> <option value="08" name="mes">Agosto</option> <option value="09" name="mes">Setembro</option> <option value="10" name="mes">Outubro</option> <option value="11" name="mes">Novembro</option> <option value="12" name="mes">Dezembro</option> </select> <input type="submit" value="Gerar Relação" name="gerar"> </form> </center> <br/><br/> <?php $mes = $_POST['mes']; $resultado = mysql_query("SELECT nome, DAY(dataAniversario) AS dia," . " MONTH(dataAniversario) AS mes FROM dadoscliente WHERE MONTH(dataAniversario) = '$mes'"); echo"<center><table width='50%' border='1' class='bordasimples'style='background-color: #fbe7e7 ; font-family: Arial Unicode MS' >"; echo"<tr>"; echo"<th>DIA</th>"; echo"<th>MÊS</th>"; echo"<th>NOME</th>"; echo"</tr>"; while ($row = mysql_fetch_array($resultado)) { if ($row['mes'] == $_POST ['mes']) { echo "<tr>"; echo "<td>" . $row['dia'] . "</td>"; echo "<td>" . $row['mes'] . "</td>"; echo "<td>" . $row['nome'] . "</td>"; echo "</tr>"; } else { echo "<script type='text/javascript'>"; echo "alert('NÃO EXISTE ANIVERSARIANTES NESSE MÊS.')"; echo "</script>"; } } echo "</table></center>"; ?> <br/> Compartilhar este post Link para o post Compartilhar em outros sites