Ir para conteúdo
Fórum Script Brasil
  • 0

(Resolvido) Manipulação de data


cmdmss

Pergunta

Prezados amigos, eis a minha duvida.

Tenho no banco de dados uma tabela com uma coluna para data e outra para valores com varios dados cadastrados.

Gostaria de pegar valores em uma determinada data... 01/01/2010 a 01/02/2010 por exemplo...

como posso executar isso em php?

Obrigado a quem ajudar

Link para o comentário
Compartilhar em outros sites

7 respostass a esta questão

Posts Recomendados

  • 0
Assumindo que essa coluna da data seja do tipo DATE

$data1 = '2010-01-01';
$data2 = '2010-02-01';

$sql = mysql_query("SELECT * FROM tabela WHERE coluna BETWEEN $data1 AND $data2")

Lembrando que BETWEEN para tabelas grande não é uma boa idéia, já que ele não usa o índice nas buscas, recomendo utilizar da forma habitual:

$sql = mysql_query("SELECT * FROM tabela WHERE coluna > $data1 AND coluna < $data2")

O que não fará diferença nenhuma se não houver índice`s em suas tabelas.

Link para o comentário
Compartilhar em outros sites

  • 0

Mutchas Gracias... deu certinho aqui... =)

Agora, uma outra duvida... no meu banco de dados... as datas estão sendo gravadas no formato aaaa-mm-dd pois é o unico formato aceito pelo campo date do mysql... alguém saberia me dizer como faço para apresentar ao usuario no formato dd-mm-aaaa?

Link para o comentário
Compartilhar em outros sites

  • 0
Assumindo que essa coluna da data seja do tipo DATE

$data1 = '2010-01-01';
$data2 = '2010-02-01';

$sql = mysql_query("SELECT * FROM tabela WHERE coluna BETWEEN $data1 AND $data2")

Lembrando que BETWEEN para tabelas grande não é uma boa idéia, já que ele não usa o índice nas buscas, recomendo utilizar da forma habitual:

$sql = mysql_query("SELECT * FROM tabela WHERE coluna > $data1 AND coluna < $data2")

O que não fará diferença nenhuma se não houver índice`s em suas tabelas.

Acho que esse problema de não usar o índice não existe nas versões mais novas (não tenho certeza), só que lembre-se que between é => e <= .

Mutchas Gracias... deu certinho aqui... =)

Agora, uma outra duvida... no meu banco de dados... as datas estão sendo gravadas no formato aaaa-mm-dd pois é o unico formato aceito pelo campo date do mysql... alguém saberia me dizer como faço para apresentar ao usuario no formato dd-mm-aaaa?

date_format.

Link para o comentário
Compartilhar em outros sites

  • 0

Ufa... consegui...!!! ai vai um site que explica como fazer

http://www.freelancersbrasil.com/for...mysql-com-php/

e como eu fiz...

<?$sql = mysql_query("SELECT data FROM caixa WHERE data > 2010-08-06 < 2010-08-08") or die (mysql_error());
while($ln = mysql_fetch_object($sql)){
     $data=$ln->data;
     $$data = explode('-',$data);
     $data = $data[8].$data[9].'/'.$data[5].$data[6].'/'.$data[0].$data[1].$data[2].$data[3];
     echo $data;echo "<br>";
}?>

Abraços...

Link para o comentário
Compartilhar em outros sites

  • 0

Bom dia.

Um modo mais fácil para você converter datas seria.

$sData = '2010-01-25';

$sDataConvertida = implode( '/', array_reverse( split( '[-/]', $sData ) ) );

echo "{$sDataConvertida}\n";

$sData = '2010/01/25';

$sDataConvertida = implode( '/', array_reverse( split( '[-/]', $sData ) ) );

echo "{$sDataConvertida}\n";

Abraços

Link para o comentário
Compartilhar em outros sites

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,2k
    • Posts
      652k
×
×
  • Criar Novo...