0

Consulta no Banco MYSQL

criado por onilson dos santos oliveira em 02/11/2009 12:03am
Pessoal alquem sabe me dizer como fazer para mim fazer uma consulta no banco de dados do tipo
o usuário digitaria o que deseja pesquisar e forneceria um intervalo de data.Como por exemplo:

No campo pesquisa digitaria seu nome: jose da silva
e selecionaria um parametro de data como: inicio: 12/04/2009 a 12/10/2009
e logo em seguida ele pressiona pesquisar.Dessa forma quero fazer uma pesquisa no banco dentro do intervalo de data fornecida pelo usuário.

Lista de Respostas:

0
29/11/2009 12:16am
(~14 anos atrás)
No MySQL o formato de data é AAAA-MM-DD, logo, o valor recebido pelo formulário deveria ser tratado antes de montar a SQL.

Seria algo do tipo:
$data_inicio_bd = preg_replace('/^(\d+)\/(\d+)\/(\d+)$/', '${3}-${2}-${1}', $_POST['data_inicio']);
$data_termino_bd = preg_replace('/^(\d+)\/(\d+)\/(\d+)$/', '${3}-${2}-${1}', $_POST['data_inicio']);

$nome = mysql_escape_string($_POST['nome']);
$data_inicio_bd = mysql_escape_string($data_inicio_bd);
$data_termino_bd = mysql_escape_string($data_termino_bd);

$sql = "SELECT ... FROM ... WHERE data >= '{$data_inicio_bd}' AND data <= '{$data_termino_bd}' AND nome LIKE '%{$nome}%'";

-1
02/11/2009 10:12am
(~14 anos atrás)
Amigo vou colocar um select para vc ver como que eh:

SELECT * FROM nome_da_tabela WHERE campo_data >= '12/04/2009' AND
campo_data <= '12/04/2009' AND campo_nome LIKE '%jose%'

se quizer alguma coisa mais precisa, posta a tabela para eu ver.

um abraço.

Nova Resposta:

(Você pode usar tags como <b>, <i> ou <code>. URLs serão convertidas para links automaticamente.)