Solucionado (ver solução)
Solucionado
(ver solução)
6
respostas

Formatação de datas para o MySQL feita no formulário

Existe uma maneira mais simples de deixar a data pronta para ser usada pelo MySQL, sem a necessidade de criação de helper para essa tarefa.

Basta incluir o 'type' como 'date' dentro do formulário:

echo form_label("Data de entrega", "data_de_entrega");
echo form_input(array(
    "name" => "data_de_entrega",
    "id" => "data_de_entrega",
    "type" => "date",
    "class" => "form-control",
    "maxlength" => "255",
    "size" => "50",
    "style" => "width:40%",
    "value" => ""
));
6 respostas

Mas neste caso ele aceita a digitação da data já no formato pt br?

Sim, aceita a digitação da data no formato pt br.

O único detalhe é que quando você for imprimir a data no "vendas/index" você vai precisar do helper para transformar do formato MySQL para o pt br.

Eu fiz o teste, por isto perguntei. Mas deve haver algum outro detalhe para funcionar, pois pra mim ele aceita a data, só que quando vou gravar dá erro.

digitei 12/01/2015.

Se eu não trato não resolve nada, pois cancela na hora do save(). Tem mais algum detalhe? Talvez indicar no html que estou tratando de pt-br ??

solução!

Desculpa Sidnei, eu olhei rápido a primeira vista e não percebi que a data estava sendo postada como mm-dd-YYYY pelo google chrome. O chrome consegue carregar um calendário para você marcar o dia e já vai pronto no formato do mysql de acordo com a rfc 3339.

Pesquisei como alterar o formato da data, mas infelizmente só usando o html5 isso não é possível. Algumas pessoas usam JQuery.

Portanto, peço desculpa e encerro esse post, informando que é necessário sim usar o helper ensinado pelo professor Guilherme.

Não precisa se desculpar, Marcelo. A gente vai aprendendo; estamos aqui pra isto.

Fiz o processo do Marcelo, Sidnei e consegui. Sem a alteração do helper, agora vou testar com o helper conforme o professor Guilherme ensinou.