Ir para conteúdo

POWERED BY:

Arquivado

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

Oliveira_estudante

[Resolvido] DATA - Desafio

Recommended Posts

Pessoal, Boa Noite...

Estou precisando muito da ajuda de vocês, estou iniciando na área de php mas me deparei com um grande desafio e que não tenho conhecimento o suficiente, peco a ajuda de voces...

 

Seguinte... tenho uma tabela em mysql com os seguintes campos...

 

idcadastro int not null primary key,

dtcadastro datetime,

informacoes_cadatro text,

dtexclusao datetime,

 

... tenho varios registros salvos no banco mysql... so que o formato da data esta em 2010-09-07, eu quero mostrar esses registros em um looping so que com o formato padrao 07-09-2010... como eu faço isso ? Eu tentei criar uma função pra formatar as datas mas sem muito sucesso ! Por favor ao postarem comente o codigo para que eu possa aprender o que foi feito....

 

 

obrigado galera e um abraço

Compartilhar este post


Link para o post
Compartilhar em outros sites

Olá

 

Você pode formatar a data via MySQL, desta forma

 

SELECT
DATE_FORMAT(dtcadastro, '%d-%m-%Y') AS datac,
DATE_FORMAT(dtexclusao, '%d-%m-%Y') AS datae,
FROM
nome_tabela
ORDER BY
dtcadastro DESC

Espero que tenha sido útil.

 

Abraços

Compartilhar este post


Link para o post
Compartilhar em outros sites

Pode tb transformar a data no PHP antes da exibição...

 

Alguns exemplos

 

$data = "2010-09-27";
$data = substr($data,8,2)."/".substr($data,5,2)."/".substr($data,0,4);
echo $data;

$data = "2010-09-27";
$data = explode("-",$data);
echo $data[2]."/".$data[1]."/".$data[0];

Eu geralmento crio uam pagian de config.php e nela eu coloco algumas funções onde eu chamo para alterar as datas do formato que eu quero.

function mudaData($data,$tipo) {
  if ($tipo == 1) {
    $data = substr($data,8,2)."/".substr($data,5,2)."/".substr($data,0,4);
  } else if ($tipo == 2) {
    $data = substr($data,8,2)."/".substr($data,5,2);
  }
  return $data;
}

$data = "2010-09-27";
$data = mudaData($data,1);
echo $data;

Compartilhar este post


Link para o post
Compartilhar em outros sites

Pessoal.... desculpe a ignorancia... mas como eu trataria as datas vindo do mysql ? por exemplo eu tenho uma pagina em php so pra mostrar esses registros....

 

<?
  include"conexao.inc";
  $cons = mysql_query("select * from usuario order by dtcadastro");
  while($reg = mysql_fetch_array($cons)){
  $id = $reg[idcadastro];
  $dtcad = $reg[dtcadastro];
  $info = $reg[informacoes_cadatro];
  $dtexc = $reg[dtexclusao];
?>
 <tr>
   <td><? echo "$id" ?></td>
   <td><? echo "$dtcad" ?></td>
   <td><? echo "$info" ?></td>
   <td><? echo "$dtexc" ?></td>
 </tr>

<?
 }
?>

Como eu faria pra mostrar as datas formatadas em um loop semelhante a esse acima, so que... no formato dia-mes-ano, pois puxando do mysql esta vindo ano-mes-dia ?

 

Valeu galera... obrigado por me ajudarem... aguardo mais postagens de voces...

Compartilhar este post


Link para o post
Compartilhar em outros sites

$cons = mysql_query("SELECT idcadastro, DATE_FORMAT(dtcadastro, '%d/%m/%Y') AS dtcadastro, informacoes_cadatro, dtexclusao 

FROM usuario ORDER BY dtcadastro");

pronto. Só isso.

Compartilhar este post


Link para o post
Compartilhar em outros sites

E se caso eu quisesse mostrar umas 4 datas formatadas no formado dd-mm-aaaa da mesma tabela, como ficaria meu select ? Eu queria saber também se existe uma forma de fazer sem usar sql, através de uma função pra resgastar esses registos do banco e formata-los...o pessoal postou algumas funções bem legais, mais não estou sabendo aplicar ela no meu loop, se não for pedir muito tem como voce postar como ficaria o codigo do meu loop com a função ?

 

 

Agradeço a todos... boa Tarde !

Compartilhar este post


Link para o post
Compartilhar em outros sites

E se caso eu quisesse mostrar umas 4 datas formatadas no formado dd-mm-aaaa da mesma tabela, como ficaria meu select ?

? são 4 colunas diferentes?

estude sql básico.

SELECT `idcadastro`, 
          DATE_FORMAT(`dtcadastro`, '%d/%m/%Y') AS `dtcadastro`, 
          DATE_FORMAT(`outra_data`, '%d/%m/%Y') AS `outra_data` ...

 

Eu queria saber também se existe uma forma de fazer sem usar sql, através de uma função pra resgastar esses registos do banco e formata-los...o pessoal postou algumas funções bem legais, mais não estou sabendo aplicar ela no meu loop, se não for pedir muito tem como voce postar como ficaria o codigo do meu loop com a função ?

 

é só usar cara.. sem medo!

while($reg = mysql_fetch_assoc( $cons ) ){
?>
 <tr>
   <td><?php echo $reg['idcadastro']; ?></td>
   <td><?php echo $reg['dtcadastro']; ?></td>
   <td><?php echo $reg['informacoes_cadatro']; ?></td>
   <td><?php echo mudaData( $reg['dtexclusao'], 1 ); ?></td>
 </tr>
<?
 }

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.