bcs_ptx 0 Denunciar post Postado Janeiro 16, 2012 Bom dia pessoal, tinha feito um script assim, para buscar as datas no meu banco, mas não consegui alguém sabe onde eu errei? tipo no banco está armazenado assim 2012-01-16, e na busca selecionaria o mês de janeiro e ele buscaria, como fazer? tentei assim <?php include('../conexao.php'); $data = $_POST['data']; $consulta_data = ''; $variavel_consulta = "SELECT EXTRACT(MONTH FROM $data) FROM tbl_ferias2"; if($data != ""){ $consulta_data = " AND data LIKE '".$_POST['data']."%'"; } $busca_query = mysql_query($variavel_consulta.$consulta_data); ?> <?php while($dados = mysql_fetch_assoc($busca_query)){ ?> <?php echo $dados['nome']; ?> <?php } ?> <form action="teste_datas.php" method="post"> <table> <tr> <td>Data</td> <td> <select name="data"> <option value=""></option> <option value="1">Janeiro</option> <option value="2">Fevereiro</option> <option value="3">Março</option> <option value="4">Abril</option> <option value="5">Maio</option> <option value="6">Junho</option> <option value="7">Julho</option> <option value="8">Agosto</option> <option value="9">Setembro</option> <option value="10">Outubro</option> <option value="11">Novembro</option> <option value="12">Dezembro</option> </select> </td> <td><input type="submit" value="Buscar"></td> </tr> </table> </form> Compartilhar este post Link para o post Compartilhar em outros sites
Andrey Knupp Vital 136 Denunciar post Postado Janeiro 16, 2012 Explique seu problema, pra quer queres extrair o mês ? porque não extraí no seu script php !? Compartilhar este post Link para o post Compartilhar em outros sites
bcs_ptx 0 Denunciar post Postado Janeiro 16, 2012 Assim, tenho uma tabela de férias, nela estão salvas todas as férias dos funcionários, e quero fazer uma busca de janeiro a dezembro, ai que ta, como no banco fica salvo mes 01,02 e etc, como faria para fazer a busca desse jeito Compartilhar este post Link para o post Compartilhar em outros sites
Andrey Knupp Vital 136 Denunciar post Postado Janeiro 16, 2012 SELECT * FROM `tbl_ferias2` WHERE `data` = $data Compartilhar este post Link para o post Compartilhar em outros sites
bcs_ptx 0 Denunciar post Postado Janeiro 16, 2012 esse comando eu buscaria a data por mês? acho que não é desse jeito que você entendeu Compartilhar este post Link para o post Compartilhar em outros sites
Andrey Knupp Vital 136 Denunciar post Postado Janeiro 16, 2012 Você não disse que fica gravado só o mês no banco ? então, seu select já tem os dias, na hora que o formulário for enviado, vai cair a opção selecionada na consulta .. Compartilhar este post Link para o post Compartilhar em outros sites
bcs_ptx 0 Denunciar post Postado Janeiro 16, 2012 sim, mas não fica salvo o nome tipo janeiro no banco, fica salvo no campo data_ferias 2012-01-16, ai no select ele vai ter que ver que o mês 1 é janeiro e sim fazer a busca Compartilhar este post Link para o post Compartilhar em outros sites
Andrey Knupp Vital 136 Denunciar post Postado Janeiro 16, 2012 sim, mas não fica salvo o nome tipo janeiro no banco, fica salvo no campo data_ferias 2012-01-16, ai no select ele vai ter que ver que o mês 1 é janeiro e sim fazer a busca Certo, mas o campo que o seu select no html vai enviar, é o valor do atributo value no option .. você só precisa formatar o campo do banco para ler apenas o mês desse 'data_ferias' e comparar com o seu .. SELECT * FROM `tbl_ferias2` WHERE EXTRACT( MONTH FROM `tbl_ferias2`.`data_ferias` ) = $data :seta: mysql> select * from datas; +------------+ | ferias | +------------+ | 2012-01-06 | | 2012-01-18 | | 2012-01-19 | | 2012-02-06 | | 2012-06-08 | +------------+ 5 rows in set (0.00 sec) mysql> select * from datas where extract( month from ferias ) = 02; +------------+ | ferias | +------------+ | 2012-02-06 | +------------+ 1 row in set (0.00 sec) Compartilhar este post Link para o post Compartilhar em outros sites
bcs_ptx 0 Denunciar post Postado Janeiro 16, 2012 Blza, deu certo sim, mas acontece que seguinte, eu tenho no banco 4 campos primeiras_ferias, inicio das primeiras férias primeiras_ferias2, final das primeiras férias segundas_ferias, inicio das segundas férias segundas_ferias2 final das segundas férias e nesse script que eu fiz ele só busca primeiras_ferias, tem como no mesmo script eu juntar essas 4 buscas? abraço e valeu a ajuda Compartilhar este post Link para o post Compartilhar em outros sites
Andrey Knupp Vital 136 Denunciar post Postado Janeiro 16, 2012 Como assim juntar 4 buscas ? comparar os quatro campos ? Compartilhar este post Link para o post Compartilhar em outros sites
bcs_ptx 0 Denunciar post Postado Janeiro 16, 2012 assim o funcionário saiu de férias do dia 2011-12-10 á 2012-01-10 no banco fica salvo primeiras_ferias = 2011-12-10 (seria o inicio das férias) primeiras_ferias2 = 2012-01-10 (seria o final das férias) como nesse script só fiz primeiras_ferias, se eu colocasse janeiro ele não acharia nada, só se fosse dezembro, então teria que comparar essas datas, pra busca achar dezembro ou janeiro tanto faz. Bom eu fiz aqui, deu certo, só acho que dava para fazer de um jeito menos trabalhoso, mas está funcionando. <?php include('../conexao.php'); $mes = $_POST['mes']; $mes2 = $_POST['mes']; $mes3 = $_POST['mes']; $mes4 = $_POST['mes']; $consulta_mes = ''; $consulta_mes2 = ''; $consulta_mes3 = ''; $consulta_mes4 = ''; $variavel_consulta = " SELECT * FROM tbl_ferias2 JOIN tbl_usuarios ON (tbl_ferias2.id_usuario = tbl_usuarios.id_usuario) WHERE EXTRACT( MONTH FROM tbl_ferias2.primeiras_ferias ) = $mes or EXTRACT( MONTH FROM tbl_ferias2.primeiras_ferias2 ) = $mes2 or EXTRACT( MONTH FROM tbl_ferias2.segunda_ferias ) = $mes3 or EXTRACT( MONTH FROM tbl_ferias2.segunda_ferias2 ) = $mes4"; if($mes != ""){ $consulta_mes = " AND primeiras_ferias LIKE '".$_POST['primeiras_ferias']."%'"; } if($mes2 != ""){ $consulta_mes2 = " AND primeiras_ferias2 LIKE '".$_POST['primeiras_ferias2']."%'"; } if($mes3 != ""){ $consulta_mes3 = " AND segunda_ferias LIKE '".$_POST['segunda_ferias']."%'"; } if($mes4 != ""){ $consulta_mes4 = " AND segunda_ferias2 LIKE '".$_POST['segunda_ferias2']."%'"; } $busca_query = mysql_query($variavel_consulta.$consulta_mes.$consulta_mes2.$consulta_mes3.$consulta_mes4); ?> Compartilhar este post Link para o post Compartilhar em outros sites