Jump to content


Photo

Buscar Intervalo Entre Datas No Mysql


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

#1 diegomarques

diegomarques

    Novato no fórum

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

Posted 06/09/2006, 10:19

Olá pessoal....
gostaria de uma ajuda aki:
tenho um script ond o usuário digita um intervalo entre datas e dps o bd exibe em outra pág os registros entre esse intervalo de datas.
Só que eu gostaria que o usuário digitasse a data no formato dd/mm/yyyy e nao no formato do mysql yyyy/mm/dd como vem digitando.
Alguém pode me dizer como eu faço pra transformar a data que o usuário digita (dd/mm/yyyy) no formato (yyyy/mm/dd) para que o bd possa reconhecer e efetuar a busca.

assim é que está o meu recordset:
SELECT COUNT( 'tb_serv.usuario' ) AS Chamados, tb_serv.usuario AS Departamento
FROM tb_serv
WHERE tb_serv.dtsol BETWEEN 'colname2' AND 'colname1'
GROUP BY tb_serv.usuario

onde:
colname2 = &_POST['Data'] => data inicial
colname1 = &_POST['Final'] => data final

Desde já agradeço a ajuda.
[]'s
:)

Edição feita por: diegomarques, 06/09/2006, 10:19.


Diego Marques
17 anos
Programador iniciante

#2 oLHa_eu

oLHa_eu

    Turista

  • Usuários
  • 48 posts
  • Sexo:Não informado
  • Localidade:Marechal Cândido Rondon
  • Interesses:PHP, MySql

Posted 06/09/2006, 10:29

Fácil.... utilize o EXPLODE :)

Ex.:


$DataInicial = &_POST['Data'];

$Data = explode('/',$DataInicial);
$NovaData = $Data[2]."-".$Data[1]."-".$Data[0];

echo $NovaData; //Esse resultado vc coloca dentro do seu select...



[]´s

Edição feita por: oLHa_eu, 06/09/2006, 10:30.


#3 Felipe Pena

Felipe Pena

    O temor do Senhor é o princípio da sabedoria

  • Ex-Admins
  • 6441 posts
  • Sexo:Masculino

Posted 06/09/2006, 11:00

Há várias maneiras.

print implode("-", array_reverse(explode("/", "22/07/1988"))); // 1988-07-22

Você não pode deixar também de verificar se a informação está no formato esperado.

Edição feita por: Eclesiastes, 06/09/2006, 11:02.

Felipe Pena
[...] ó terra, terra, terra; ouve a palavra do Senhor. — Jeremias 22:29

#4 diegomarques

diegomarques

    Novato no fórum

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

Posted 06/09/2006, 11:01

Não deu certo...
:(
Ond eu colocaria esse código? antes do recordset certo?
E no recordset eu substituira o Run-Time-Value de antes pelo $NovaData certo?
Se for isso não deu certo...


Vlw pela ajuda galera!
Tava dando uns erros por falta de atençao minha...
Vo dexa o codigo aew pra caso alguem venha precisar...
[]'s
(y)
<? 
$DataInicial = $_POST['Data'];
$Data = explode('/',$DataInicial);
$NovaDataIni = $Data[2]."-".$Data[1]."-".$Data[0];
?>
<? 
$DataFinal = $_POST['Final'];
$Data1 = explode('/',$DataFinal);
$NovaDataFin = $Data1[2]."-".$Data1[1]."-".$Data1[0];
?>

issso ^^ fik antes do recordset...

e no recordset o run time value fik assim:
$NovaDataIni
$NovaDataFin

Diego Marques
17 anos
Programador iniciante




1 user(s) are reading this topic

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

IPB Skin By Virteq