Luiz Tibo Postado Outubro 25, 2010 Denunciar Share Postado Outubro 25, 2010 É o seguinte, estou querendo mostrar em um campo de uma tabela a data e horario que estão em um banco de dados mysql.No BD tem o campo chamado data(datetime). Quero pegar ela e formatar no formato brasileiro e então mostar numa variavel php que está dentro da tabela.Meu codigo está assim:SQL:$sql2 = "SELECT data FROM Data_Atualizacao WHERE COD = ".$_SESSION["cod"].""; $resultado2 = mysql_query($sql2) or die("Erro ao consultar"); VARIAVEL: <td height="25" colspan="6"><div align="center" class="style7"> <?php while($linha2 = mysql_fetch_array($resultado2)) { $data = $linha2["data"]; } echo $data; ?> </div></td>Essa data e hora vão aparecer apenas umas vez, mas tinha colocado dentro de um while porque sem não estava funcionando também. Pode ser feito assim do jeito que está? E o que está dando errado?Abraços. Obrigado. Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Lucas Phillip Postado Outubro 25, 2010 Denunciar Share Postado Outubro 25, 2010 Se você teve que colocar dentro de um while pra funcionar direito, acredito que a sua query SQL está retornando mais de um campo. Por que se tivesse retornando apenas um, não faria diferença nenhuma utilizar o while ou não.Dá uma olhada ai. Talvez pode existir mais de um campo com COD igual.Agora, não entendi sua pergunta... Você que fala pra nós o que está dando de errado e agente tenta ajudar. Um pedaço de script igual você mandou não tem como ser analisádo não. Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Luiz Tibo Postado Outubro 25, 2010 Autor Denunciar Share Postado Outubro 25, 2010 Opa Lucas,Tipo com o while também não deu certo, eu soloquei so pra ver o que acontecia, meu conhecimento em php é poco ai fico testando as sintaxes e tal pra ver.A pergunta era como fazer pra mostrar no site um valor de data e hora que eu estou pegando pelo "sql" no BD.Fiz assim aqui agora:<?php echo date('d/m/Y - H:i:s', strtotime($resultado2['data'])); ?>Mas aparece la no site assim:31/12/1969 - 21:00:00não está pegando a data correta do BD.Não tem nem essa data no BD. Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Luiz Tibo Postado Outubro 25, 2010 Autor Denunciar Share Postado Outubro 25, 2010 Consegui aqui. =]Ficou assim:<td height="25" colspan="6"><div align="center" class="style7"> <?php $linha2 = mysql_fetch_array($resultado2); echo date('d/m/Y - H:i:s', strtotime($linha2['data'])); ?> </div></td>Valeu ai Lucas.Abraços. Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 ARD Postado Outubro 25, 2010 Denunciar Share Postado Outubro 25, 2010 Uma dica: Você pode fazer isso direto no banco. Como? Simples!select DATE_FORMAT(`CAMPO_DE_DATA`,'%d/%m/%Y %H:%i:%s') as `STR_DATA` from tabelaAté,André Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Luiz Tibo Postado Outubro 25, 2010 Autor Denunciar Share Postado Outubro 25, 2010 (editado) Opa André, valeu ae xD.Agora mais uma pergunta relacionado com esse comando:while($linha = mysql_fetch_array($resultado)) Eu posso utilizar mais de uma vez?Porque quando eu coloco eles duas vezes usando o mesmo sql não da certo.<php while($linha = mysql_fetch_array($resultado)) { $VALOR = number_format($linha["VALOR"],2, '.',','); $TOTAL = $TOTAL + $VALOR; } echo number_format($TOTAL, 2, ',', '.'); ?> Mais embaixo tem esse comando de novo, porem pegando outros valores. E da certo, mas quando acrescento esse codigo ai de cima ai não imprime nada no site. Tipo, não faz a segunda listagem. E estou com probleminha também de formatação no valor. Tipo, ta mostrando la 2.264,00, mas na verdade tem que msotrar 2.264,97. No BD O campo " VALOR" está varchar usando ",". Formatação minha está assim: echo number_format($TOTAL, 2, ',', '.');Como faço? Editado Outubro 25, 2010 por Luiz Tibo Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Luiz Tibo Postado Outubro 25, 2010 Autor Denunciar Share Postado Outubro 25, 2010 Consegui utilizar o mysql_fetch_array($resultado) 2 vezes. Usei o mysql_data_seek($resultado, 0); =]Mas o problema com as casas decimais ainda tá. =/ Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Gabriel Koerich Postado Outubro 25, 2010 Denunciar Share Postado Outubro 25, 2010 Você não pode usar valor num campo varchar, para isto existe os campos de valores. Mude o campo para DECIMAL, evite problemas futuros. Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Luiz Tibo Postado Outubro 26, 2010 Autor Denunciar Share Postado Outubro 26, 2010 (editado) Valeu, eu fiz isso. Valeu. Estou com um problema agora com o "mysql_data_seek($resultado, 0);"Da o seguinte erro:Warning: mysql_data_seek() [function.mysql-data-seek]: Offset 0 is invalid for MySQL result index 6 (or the query data is unbuffered) in /.... on line 81Quando posso usar e quando não posso? Tem algum requisito para usar? Ou posso usar toda vez que precisar voltar pro primeiro registro? Editado Outubro 26, 2010 por Luiz Tibo Citar Link para o comentário Compartilhar em outros sites More sharing options...
Pergunta
Luiz Tibo
É o seguinte, estou querendo mostrar em um campo de uma tabela a data e horario que estão em um banco de dados mysql.
No BD tem o campo chamado data(datetime). Quero pegar ela e formatar no formato brasileiro e então mostar numa variavel php que está dentro da tabela.
Meu codigo está assim:
SQL:
VARIAVEL:Essa data e hora vão aparecer apenas umas vez, mas tinha colocado dentro de um while porque sem não estava funcionando também. Pode ser feito assim do jeito que está? E o que está dando errado?
Abraços.
Obrigado.
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.