Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

juniormatrix

Problemas com data

Recommended Posts

OláBom, parece ser meio complicado o que eu quero. Desenvolvi um pequeno aplicativo web (agenda de shows e bailes) com PHP + MySQL. Neste formulário tem um campo onde digitamos uma data (data da reserva de show). A data digitada neste campo será enviada até um campo do MySQL com formato DATE.Podeia ser no formato texto, mas eu quero gerar um relatório de todos os shows que estão cadastrados, e a ordem com que eu quero que apareça seja por data.Só que o problema é o seguinte: não quero precisar digitar no formulário como o MySQL reconhece datas (000-00-00 - ano, mês e dia, respectivamente). Quero digitar, por exemplo, 05-07-2007 e que seja enviado até o MySQL como data.No relatório também tem esse problema: as datas são exibidas conforme sistema americano. Como resolver tudo isso??Se alguém puder pelo menos me indicar um tutorial que explique como fazer, ficaria grato.AbraçosJunior

Compartilhar este post


Link para o post
Compartilhar em outros sites

Usa o substr, do mysql ou php para inverter estas datas tanto na hora de mostrar quanto na hora de gravar.

 

Aí um exemplo em php:

/**  * Converte data para formato aaaa-mm-dd, deve vir como dd/mm/aaaa  *  * @param $vdata data que deverá ser convertida  * @return retorna a data convertida    */	function dataInv($vdata) {		$vdata = substr($vdata,6,4)."-".substr($vdata,3,2)."-".substr($vdata,0,2);		return $vdata;	}  /**  * Converte data para formato dd/mm/aaaa, deve vir como aaaa-mm-dd  *  * @param $vdata data que deverá ser convertida  * @return retorna a data convertida  */		function dataNor($vdata) {		$vdata = substr($vdata,8,2)."/".substr($vdata,5,2)."/".substr($vdata,0,4);		return $vdata;	}

Compartilhar este post


Link para o post
Compartilhar em outros sites

Legal, mas como sou leigo no assunto - diria iniciante, não sei onde inserir essa função (se antes do Head, entre o Head ou junto com o fomulário?). O campo que utilizo para enviar a data nomeei como srs_data1.Grato novamente pela atençãoJunior

Compartilhar este post


Link para o post
Compartilhar em outros sites

quando o arquivo for submetido, no outro arquivo terão as variáveis:$dia = $_POST['dia'] //recebe o dia do outro formulário$mes = $_POST['dia'] //recebe o mês do outro formulário$ano = $_POST['dia'] //recebe o ano do outro formulário$data = $ano .'-' .$mes .'-' .$dia; //formata a data para o mysql receber no tipo datedepois é só executar a operação de inserção:insert into table(data) values($data);já na hora de fazer o select, no seu caso para os relatórios, você executa o seguinte select:select *, DATE_FORMAT(data,'%d/%m/%Y') from tabela; // e a data será formatada para o sistema convencional brasileiro: dd/mm/aaaaespero ter ajudado

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.