Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

bcs_ptx

Procurar data por nome

Recommended Posts

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

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

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

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

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

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

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.