LockSpy 0 Denunciar post Postado Julho 7, 2016 Olá Pessoal, Já tentei inumeros modos mais ainda não consegui passar a data que eu pego do banco de dados e preencher o campo input type="Date". Ele sempre fica como dd/mm/aaaa. Lembrando que minha função DBRead já retorna os dados do meu banco de dados em forma de ARRAY. O código no qual estou fazendo é este: <body> <?php include 'header.php' ?> <?php $id = $_GET['id'];/*PEGA O ID ENVIADO DO OUTRO FORMULÁRIO*/ $dados = DBRead('transparencia', "WHERE ID_TRANSPARENCIA LIKE '$id'"); /*FAZ UMA BUSCA E RESTORNA EM FORMA DE ARRAY*/ EditTransparencia($id); /*FUNÇÃO QUE EDITA MEU DADO*/ ?> <div id="Topo_Div"> <label class="Topo_Label">Editar Transparência</label> </div> <form id="formTransparenciaEditar" action="#" method="POST"> <div id="divTransparenciaEditar"> <label class="lbGeral">Motivo</label><br> <input class="inpGeral" type="text" name="motivo" value="<?php echo ($dados[0]['MOTIVO']) ?>" autofocus><br><br> <label class="lbGeral">Data Item</label><br>/*ABAIXO MEU CAMPO INPUT TYPE="DATE" QUE ESTOU TENTANDO PASSAR A DATA.*/ <input class="inpDataItem" type="date" name="inpDataItem" value="<?php echo ($dados[0]['DATA_ITEM']); ?>"><br><br> <label class="lbGeral">Observação</label><br> <textarea class="taObservacao" name="observacao" rows="15" cols="180" placeholder="Escreva observações a respeito da Transparência..."><?php echo ($dados[0]['OBSERVACAO']) ?></textarea><br><br> <label class="lbGeral">Valor R$</label><br> <input class="inpGeral" type="text" name="valor" value="<?php echo (number_format(($dados[0]['VALOR']),2,',','.')); ?>"><br><br> </div> <div id="divPainelBotoes"> <input class="inpSalvar" type="submit" name="sendTransparencia" value="Salvar"> <a class="aCancelar" href="transparencia.php">Cancelar</a> </div> </form> </body> Desde já agradecido! Compartilhar este post Link para o post Compartilhar em outros sites
Gabriel Heming 766 Denunciar post Postado Julho 7, 2016 type date não existe. Se quiser formatar uma data: DateTime::format(); Compartilhar este post Link para o post Compartilhar em outros sites
LockSpy 0 Denunciar post Postado Julho 7, 2016 type date não existe. Se quiser formatar uma data: DateTime::format(); Olá Gabriel, Então o type="Date" que eu falo é o campo input do HTML, que deixa o campo em formato para inserir uma data. <input class="inpDataItem" type="date" name="inpDataItem" value="<?php echo ($dados[0]['DATA_ITEM']); ?>"><br><br> Para formatar a data somente para amostra já estou conseguindo, o que eu não estou conseguindo é passar o valor da data que eu pego do banco de dados que eu converto para array, para o campo input citado acima. Eu já olhei os tipos no site da PHP e nada me ajudou já olhei em outros lugares alguns métodos e não consegui também porque a data de onde estou tirando é de uma array no caso este é o campo do banco de dados do qual eu estou pegando a data: $dados[0]['DATA_ITEM']/*CHEGA PARA MIM DESTA FORMA: string '1980-12-12 00:00:00' (length=19)*/ E o que eu preciso é passar essa data que aparece ali para o input citado acima. Para que o usuário possa Editar. Compartilhar este post Link para o post Compartilhar em outros sites
Gabriel Heming 766 Denunciar post Postado Julho 7, 2016 As vezes esqueço sobre as novidades do HTML 5, apesar dos navegadores ainda estarem muito atrelados ao html 4. Mas não consigo entender o que você realmente deseja fazer. A princípio, seu código não tem problemas. Compartilhar este post Link para o post Compartilhar em outros sites
LockSpy 0 Denunciar post Postado Julho 7, 2016 As vezes esqueço sobre as novidades do HTML 5, apesar dos navegadores ainda estarem muito atrelados ao html 4. Mas não consigo entender o que você realmente deseja fazer. A princípio, seu código não tem problemas. A acontece! Mas então o HTML5 quando você coloca o input type="date" como citado acima ele cria um campo para colocar a data deste tipo: E o que eu quero é preencher esses campos de data com os valores que eu tiro do meu banco de dados, para que o usuário possa editar-los. E para tirar os valores do banco de dados eu utilizo a função DBRead que ela lê os dados do banco e já converte para uma Array, eu já testei outros métodos, mas no momento eu estou passando o valor desta forma que também não está dando certo: value="<?php echo ($dados[0]['DATA_ITEM']); ?>" O que acontece é que a data continua dd/mm/yyyy e não fica com a data passada. Compartilhar este post Link para o post Compartilhar em outros sites
Gabriel Heming 766 Denunciar post Postado Julho 8, 2016 Então, essa situação você pode verificar em ambos os links abaixo: http://stackoverflow.com/questions/3496241/specifying-the-value-output-of-of-an-html5-input-type-date http://stackoverflow.com/questions/7372038/is-there-any-way-to-change-input-type-date-format A única diferença dos casos acima apresentados para o seu, é a sua localização. O formato de data do Brazil é dd/mm/yyyy e deles (USA) é yyyy-mm-dd. Entre essas e outras que o HTML 5 não faz muito sucesso. Compartilhar este post Link para o post Compartilhar em outros sites
luxu 0 Denunciar post Postado Fevereiro 20, 2017 Em 07/07/2016 at 14:37, LockSpy disse: Olá Pessoal, Já tentei inumeros modos mais ainda não consegui passar a data que eu pego do banco de dados e preencher o campo input type="Date". Ele sempre fica como dd/mm/aaaa. Lembrando que minha função DBRead já retorna os dados do meu banco de dados em forma de ARRAY. O código no qual estou fazendo é este: <body> <?php include 'header.php' ?> <?php $id = $_GET['id'];/*PEGA O ID ENVIADO DO OUTRO FORMULÁRIO*/ $dados = DBRead('transparencia', "WHERE ID_TRANSPARENCIA LIKE '$id'"); /*FAZ UMA BUSCA E RESTORNA EM FORMA DE ARRAY*/ EditTransparencia($id); /*FUNÇÃO QUE EDITA MEU DADO*/ ?> <div id="Topo_Div"> <label class="Topo_Label">Editar Transparência</label> </div> <form id="formTransparenciaEditar" action="#" method="POST"> <div id="divTransparenciaEditar"> <label class="lbGeral">Motivo</label><br> <input class="inpGeral" type="text" name="motivo" value="<?php echo ($dados[0]['MOTIVO']) ?>" autofocus><br><br> <label class="lbGeral">Data Item</label><br>/*ABAIXO MEU CAMPO INPUT TYPE="DATE" QUE ESTOU TENTANDO PASSAR A DATA.*/ <input class="inpDataItem" type="date" name="inpDataItem" value="<?php echo ($dados[0]['DATA_ITEM']); ?>"><br><br> <label class="lbGeral">Observação</label><br> <textarea class="taObservacao" name="observacao" rows="15" cols="180" placeholder="Escreva observações a respeito da Transparência..."><?php echo ($dados[0]['OBSERVACAO']) ?></textarea><br><br> <label class="lbGeral">Valor R$</label><br> <input class="inpGeral" type="text" name="valor" value="<?php echo (number_format(($dados[0]['VALOR']),2,',','.')); ?>"><br><br> </div> <div id="divPainelBotoes"> <input class="inpSalvar" type="submit" name="sendTransparencia" value="Salvar"> <a class="aCancelar" href="transparencia.php">Cancelar</a> </div> </form> </body> Desde já agradecido! Amigo você conseguiu resolver esse problema, pois estou na mesma q você Compartilhar este post Link para o post Compartilhar em outros sites
Alaerte Gabriel 662 Denunciar post Postado Fevereiro 20, 2017 O campo do tipo DATE trabalha no formato brasileiro, pra nós. Logo você não precisa se preocupar com formatação. A data que vem do banco está correta, o próprio input é quem transforma para 00/00/0000, na hora do envio do formulário, ele automaticamente já envia formatado novamente para o padrão americano 0000-00-00 Compartilhar este post Link para o post Compartilhar em outros sites