thiago_2002 Postado Junho 15, 2005 Denunciar Share Postado Junho 15, 2005 tipo, to querendo inserir no banco de dados a data q o cara poe no campo texto, exemplo:o cara digita 06-05-2006e insira no banco de dadso assim:20060506e como eu faço pra puxar os dados depois fazendo uma consulta pra ele exibir assim :06-05-2006 !!não é tão complicado eu axo...falou ! Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 ffiction Postado Junho 15, 2005 Denunciar Share Postado Junho 15, 2005 pow. mas que comlicar?? você pode simplesmente inserir com a data com esses tracinhois.. não vai dar problema.. mas se quiser tirar enfim.. faz um str_replace pra tirar os tracinhos.. depois pra mostra com os tracinhos dá pra usar o sbstr dai com o substr você faz qts vezes achar necessario.. tipo. .splita a string.. sacou??falow.. Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 thiago_2002 Postado Junho 15, 2005 Autor Denunciar Share Postado Junho 15, 2005 tem q ser sem os tracinhos, porque quando eu for fazer uma pesquisa entr uma data e outra, vou precisar ter a data nesse formato q eu falei, por exemplo:select where data>20050605 and data<20060912com os tracinhos nun da Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 McBlade Postado Junho 15, 2005 Denunciar Share Postado Junho 15, 2005 Um campo do tipo Date do banco deve ser salvo no formato Y-m-d (2005-06-15) no banco.Para trazê-lo de volta formatado como 15/05/2005 eu ainda não consegui fazer mas provavelmente você vai usar (d/m/Y) na função date(); Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 thiago_2002 Postado Junho 15, 2005 Autor Denunciar Share Postado Junho 15, 2005 como eu faço intao pro q ta no campo de texto 10-05-2005 entrar como 20050510 ?? Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 fsphp Postado Junho 16, 2005 Denunciar Share Postado Junho 16, 2005 Ao invés de um campo de texto, você pode colocar um campo select para os dias (com name="dia" e value de 01 à 31), um campo select para o mês (com name="mes" value= 01, 02, 03 ... 12 e os valores de option=Janeiro, Fevereiro etc) e um campo de texto para ele colocar a data.Você define as variáveis para data assim:$data = "$ano$mes$dia";Insere assim no banco de dados. Quando você fizer a consulta para buscar algo entre as datas fica fácil.Pode colocar um outro campo data que seria a retornada na consulta do usuário. Aí você definiria o campo data_usuario:$data_usuario = "$dia - $mes - $ano";Insere no banco de dados e, quando for para mostrar ao usuário, você pede para mostrar esse campo.Com certeza tem formas melhores de fazer, mas eu nào sei como. Acredito que dessa forma que coloquei acima você consiga o resultado esperado sem ser uma gambiarra. Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 ffiction Postado Junho 16, 2005 Denunciar Share Postado Junho 16, 2005 Você define as variáveis para data assim:$data = "$ano$mes$dia";isso tá errado. tem que ter os pontos entre as vars... concatenação de string precisa de um operador de concatenação certo?? falow.. Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 adailton Postado Junho 16, 2005 Denunciar Share Postado Junho 16, 2005 Na verdade ele deveria gravar os datos utilizando o formato DATE do mysql, ou seja padrão, 0000-00-00...No campo digitado da data a pessoa coloca normal 16-06-2005 atens de gravar você trata com array_reverse... tipo$data_grava = implode("-", array_reverse(explode("-", $data)));//ISTO VAI COLOCAR A DATA NO FORMAT MYSQLPara visualizar utiliza a mesma coisa, coletando a data do banco...Quanto a pesquisa entre datas utiliza o BETWEEN que é justamente para isso...$sql = mysql_query("SELECT * FROM TABELA WHERE campo_data BETWEEN '$data_inicial' AND '$data_final' ORDER by campo data ASC");Adailton Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 fsphp Postado Junho 16, 2005 Denunciar Share Postado Junho 16, 2005 Se precisa de concatenação, então tem que ser assim:$data = $dia . "" . $mes . "" . $ano;Agora, como eu falei, certamente tem formas mais corretas de fazer, e parece que o Adaílton deu o caminho das pedras.Como estou no começo do php, nunca usei implode, array_reverse, nem a BETWEEN no mysql. Mas parece que é isso mesmo. Agora é só você fazer os testes. Citar Link para o comentário Compartilhar em outros sites More sharing options...
Pergunta
thiago_2002
tipo, to querendo inserir no banco de dados a data q o cara poe no campo texto, exemplo:
o cara digita 06-05-2006
e insira no banco de dadso assim:
20060506
e como eu faço pra puxar os dados depois fazendo uma consulta pra ele exibir assim :
06-05-2006 !!
não é tão complicado eu axo...
falou !
Link para o comentário
Compartilhar em outros sites
8 respostass a esta questão
Posts Recomendados
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.