Jump to content


Photo

Juntar E Pesquisar Datas


  • Faça o login para participar
4 replies to this topic

#1 Freddy

Freddy

    12 Horas

  • Usuários
  • 167 posts
  • Sexo:Não informado

Posted 09/06/2008, 14:56

E dai galera.. blz...?
Veja meu Bd.., como eu criei...!
Eu tenho estes dados em minha tabela, só que os campos do (dia, mes, ano, hora e minuto) são uma combo, onde o usuario escolhe as datas. até ai blz..!
Mas só que agora, eu quero pesquisar os dados, de acordo com a data selecionada, exemplo: 01/06/2008 a 20/07/2008.. como fazer isso, se os campos são dados separados, como fazer usando um select....?
Me ajudem por favor...!
Obrigado!




Campo	Tipo	Atributos	Nulo	Padrão	Extra	Ação
 	id	int(4)		Não		auto_increment	 	 	 	 	 	 	 
 	nome	varchar(30)	Não			 	 	 	 	 	 	 
 	fone	varchar(15)	Não			 	 	 	 	 	 	 
 	produto	varchar(30)	Não			 	 	 	 	 	 	 
 	dia	int(2)		Não	0		 	 	 	 	 	 	 
 	mes	char(3)		Não			 	 	 	 	 	 	 
 	ano	varchar(4)		Não			 	 	 	 	 	 	 
 	hora	int(2)		Não	0		 	 	 	 	 	 	 
 	minuto	int(2)		Não	0



<?php

include "conexao_cliente.php";

$sql = "
SELECT *
FROM cliente
WHERE dia='$dia'and mes='$mes'and ano='$ano' ";

$executa=mysql_query($sql);

echo "<table width=autosize border=3 align=center><tr>";
echo "<tr>";
echo "<td align=center bgcolor=#FFCCFF><b>Nº</b></td>";
echo "<td align=center bgcolor=#FFCCFF><b>Nome</b></td>";
echo "<td align=center bgcolor=#FFCCFF><b>Fone</b></td>";
echo "<td align=center bgcolor=#FFCCFF><b>Produto</b></td>";
echo "<td align=center bgcolor=#FFCCFF><b>Data</b></td>";
echo "</tr>";

WHILE ($dados=mysql_fetch_array($executa))
{
	  echo "<tr>";
	  echo "<td align=center width=autosize bgcolor=#FFCCFF><br>$dados[id]</td>";
	  echo "<td align=center width=autosize bgcolor=#FFCCFF><br>$dados[nome]</td>";
	  echo "<td align=center width=autosize bgcolor=#FFCCFF><br>$dados[fone]</td>";
	  echo "<td align=center width=autosize bgcolor=#FFCCFF><br>$dados[produto]</td>";
	  echo "<td align=center width=autosize bgcolor=#FFCCFF><br>$dados[dia]<b>/</b>$dados[mes]<b>/</b>$dados[ano] <b>-</b> $dados[hora]<b>:</b>$dados[minuto]</td>";
	  echo "</tr>";
}
?>

Edição feita por: lwirkk, 09/06/2008, 18:53.
Adicionado a tag [code]/[codebox] para melhor visualização do código-fonte.


#2 diegocoralnet

diegocoralnet

    Turista

  • Usuários
  • 50 posts
  • Sexo:Não informado

Posted 09/06/2008, 15:05

Pode existir solução, mas será bastante complexa...

Recomendo que você utilize somente um campo para data e hora (datetime)

Você pode continuar com os combos no formulário, porém ao enviar, junte-as.

Ex
$hora = date("G:i:s");
$data = $_POST["ano"] . "-" . $_POST["mes"] . "-" . $_POST["dia"] . " " . $hora;
Se a hora for o usuário que fornece, prossiga com os $_POST em $data.

#3 Freddy

Freddy

    12 Horas

  • Usuários
  • 167 posts
  • Sexo:Não informado

Posted 09/06/2008, 15:47

Pode existir solução, mas será bastante complexa...

Recomendo que você utilize somente um campo para data e hora (datetime)

Você pode continuar com os combos no formulário, porém ao enviar, junte-as.

Ex

$hora = date("G:i:s");
$data = $_POST["ano"] . "-" . $_POST["mes"] . "-" . $_POST["dia"] . " " . $hora;
Se a hora for o usuário que fornece, prossiga com os $_POST em $data.






blz..!
vlw..!


Mas e como eu faço p exibir um intervalo entre uma data e outra...?
Obrigado..!

#4 diegocoralnet

diegocoralnet

    Turista

  • Usuários
  • 50 posts
  • Sexo:Não informado

Posted 10/06/2008, 02:45

Se você já alterou tudo para um campo só do tipo datetime, ficaria assim o sql:
SELECT * FROM tabela WHERE data >= '2008-06-01' AND data <= '2008-07-20'


#5 Goku Jr

Goku Jr

    Nilson

  • Usuários
  • 3757 posts
  • Sexo:Masculino

Posted 10/06/2008, 08:20

você deverá usar em sua SQL o COMANDO BETWEEN

Ex:
SELECT * FROM tabela WHERE campo BETWEEN valor1 AND valor2

T+
-----------------------------------------------------------------------
PALMEIRAS - Primeiro campeão do mundo em 1951




0 user(s) are reading this topic

0 membro(s), 0 visitante(s) e 0 membros anônimo(s)

IPB Skin By Virteq