Ir para conteúdo
Fórum Script Brasil
  • 0

(Resolvido) Incluir Data Antiga Em Um Formulario


pedro555

Pergunta

Bom dia,

Estou montando um sistema de gerenciamento de notícias, como um PHP-NUKE, obvio que mais simples..porém eu aprendi bastante fazendo sozinho.

Vamos a dúvida.

Para incluir uma notícia, tem um formulário:

inserir titulo, materia,fonte, autor, data, etc..

Como faço para digitar a data no formulário no formato d/m/Y ??

porque eu só consigo inserir data no formato Y-m-d

Não é só pegar a data do dia, porque eu vou fazer cadastro de notícias antigas também..

com datas do ano passado...

Apenas isso.

Obrigado!

Link para o comentário
Compartilhar em outros sites

15 respostass a esta questão

Posts Recomendados

  • 0

O formato padrão de data do MySQL é 0000-00-00, então, para colocar as datas no formato DD/MM/AAAA, você precisa tratar o campo assim:

$snova_data = implode("-", array_reverse(explode("/", $data)));

(Script por Fabyo, post de Beraldo, em: http://scriptbrasil.com.br/forum/index.php?showtopic=91087 )

Link para o comentário
Compartilhar em outros sites

  • 0

ola,

obrigado pela resposta.

Porém não entendi uma coisa:

$snova_data = implode("-", array_reverse(explode("/", $data)));

esta $data é a variável que criei para o campo data certo? e a $snova_data???

Coloquei esta linha antes do formulário começar embaixo do INSERT etc..

e tem outra página que exibe as noticias cadastradas, a data continua no formato 0000-00-00

o que fiz:

$nova_data = implode("-", array_reverse(explode("/", $data_noticia)));

Tem um lugar expecifico para eu colocar isso?

valeu

Link para o comentário
Compartilhar em outros sites

  • 0

certo entendi..

só que agora o que fiz de errado??

coloquei essa linha e mesmo assim continua mostrando a data no formato 0000-00-00, alias, quando eu vou adicionar a noticia e coloco a data

exemplo: 12/10/2007

quando exibe a noticia com a data, aparece 0000-00-00 e não 2007-10-12, coloquei a linha no lugar certo?

valeu ae!

olha o que eu coloquei aonde exibe as noticias:

<?php

include ("config.php");

$sql = mysql_query("SELECT * FROM noticias") or die("Erro ao consultar a tabela");

while($campo = mysql_fetch_array($sql)){

$data_nova= implode("-", array_reverse(explode("/", $campo['data_noticia'])));

?>

Está certo isso que eu coloquei??? para poder exibir a data no formato d/m/Y

a variavél da noticia é $data_noticia.

Outra coisa, para eu poder digitar a data no formato d/m/Y em um formulário:

<?

include ("config.php");

if($_GET["postar]== "ok"){

$inserir = mysql_query("INSERT INTO noticias (titulo, data_noticia, texto) VALUES ('$titulo','$data_noticia','$texto')");

$data_nova = implode("-", array_reverse(explode("/", $campo['data_noticia'])));

echo "dados inseridos com sucesso";

}

?>

Está faltando alguma coisa, porque para inserir a data no formato d/m/Y não está funcionando e para exibir esta assim: 0000-00-00 com os 0s mesmo, não está funcionando..hehehe!

Valeu!

Link para o comentário
Compartilhar em outros sites

  • 0

Vamos por partes, e primeiro pela inclusão:

A data ainda aparece como 0000-00-00 porque o código está ao contrário!

Em vez de fazer isso:

...
$inserir = mysql_query("INSERT INTO noticias (titulo, data_noticia, texto) VALUES ('$titulo','$data_noticia','$texto')");
$data_nova = implode("-", array_reverse(explode("/", $campo['data_noticia'])));
...
Faça isso:
...
$data_noticia = campo["data_noticia"];
$data_nova = implode("-", array_reverse(explode("/", $data_noticia)));
$inserir = mysql_query("INSERT INTO noticias (titulo, data_noticia, texto) VALUES ('$titulo','$data_nova','$texto')");
...
Veja que primeiro eu processo a data, e depois mando adicionar essa data processada no MySQL. Agora a parte de receber a data: Para isso, seguindo seu código, faça:
...
$sql = mysql_query("SELECT * FROM noticias") or die("Erro ao consultar a tabela");
while($campo = mysql_fetch_array($sql)){
$data = $campo["data_noticia"];
$data_nova= implode("/", array_reverse(explode("-", $data_noticia)));
...

Note que a única coisa que fiz foi mandar tirar o - e colocar a / na data, depois de ela ser invertida! (array_reverse)

Link para o comentário
Compartilhar em outros sites

  • 0

boa noite,

Obrigado pela ajuda, mas ainda continua dando erro..

ou seja, continuo tentando inserir a data no formato d/m/Y mas continua aparecendo 0000-00-00

só consigo adicionar assim: 2007-11-07 ai sim aparece a data certa...

o que mais pode ser...??

fiz tudo o que estava ai...

quer que eu poste aqui o código da página de inserir matéria??

valeu

Link para o comentário
Compartilhar em outros sites

  • 0

bom dia,

está aqui o código para inserir a notícia:

<div id="cima">
    <? include("cima_adm2.html")?>
</div>
<div id="meio">
    <?
    include ("config.php");
    if($_GET["postar"] == "ok"){
      $data_noticia = $campo["data_noticia"];
      $data_nova = implode("-", array_reverse(explode("/", $data_noticia)));
      $inserir = mysql_query("INSERT INTO noticias (titulo, data_noticia, texto) VALUES ('$titulo','$data_noticia','$texto')");
      echo "dados inseridos com sucesso";
    }
    
    ?>
    <form name="form" method="post" action="?postar=ok">
        <div id="tab_inserir">
            <div id="tab_inserir_tt">Título:<br /><input name="titulo" type="text" id="titulo" size="80" /></div>
            <div id="tab_inserir_data">Data:<br />
              <input type="text" name="data_noticia" id="data_noticia"/>
          </div>
            <div id="tab_inserir_edicao">Edição:<br />
            </div>
            <div id="tab_inserir_materia">Matéria:<br /><textarea name="texto" cols="100" rows="50"></textarea></div>
            <div id="tab_inserir_fonte">Escrito por:</div>
            <center><input name="submit" type="submit" value="Enviar"></center>
        </div>
    </form>
</div>
<div id="baixo">
<? include("baixo_adm.html")?>
</div>
vou colocar também o código de mostrar as notícias:
<?php
                include ("config.php");
                $sql = mysql_query("SELECT * FROM noticias") or die("Erro ao consultar a tabela");
                while($campo = mysql_fetch_array($sql)){
                $data_noticia = $campo["data_noticia"];
                $data_nova= implode("/", array_reverse(explode("-", $data_noticia)));
            ?>
            
                <div id="tab2">
                    <div id="tab_titulo2"><?php echo $campo["titulo"];?></div>
                    <div id="tab_data2" align="center"><? echo $campo["data_noticia"];?></div>
              <div id="tab_excluir2" align="center">
                        <?
                        echo "<a href=\"excluir.php?id=".$campo["id"]."\">";
                        echo "<img src=\"imagens/excluir.gif\" width='20' height='20' border=0/>";
                        echo "</a>";
                        ?></div>
                    <div id="tab_alterar2" align="center">
                        <?
                            echo "<a href=\"alterar.php?id=".$campo["id"]."\">";
                            echo "<img src=\"imagens/editar2.gif\" width='20' height='20' border=0/>";
                            echo "</a>";
                        ?>
                    </div>
                    <div id="tab_visualizar2" align="center">
                        <?
                            echo "<a href=\"exibir.php?id=".$campo["id"]."\">";
                            echo "<img src=\"imagens/visualizar.gif\" width='20' height='20' border=0/>";
                            echo "</a>";
                        ?>
                    </div>
                </div>
                <? } ?>

Se ajudar agradeço.

Valeu

Link para o comentário
Compartilhar em outros sites

  • 0

Você não alterou a query da forma que eu postei acima.

Troque a query:

$inserir = mysql_query("INSERT INTO noticias (titulo, data_noticia, texto) VALUES ('$titulo','$data_noticia','$texto')");
Pela query:
$inserir = mysql_query("INSERT INTO noticias (titulo, data_noticia, texto) VALUES ('$titulo','$data_nova','$texto')");
E no código que mostra as notícias, troque:
<div id="tab_data2" align="center"><? echo $campo["data_noticia"];?></div>
Por:
<div id="tab_data2" align="center"><? echo $data_nova;?></div>

Link para o comentário
Compartilhar em outros sites

  • 0
Guest --pedro555 --

Continuo não conseguindo adicionar a data, porém já aparece no formato d/m/Y

já é um começo...rsrsrs

Vou postar o código de como ficou:

inserir.php

<?
    include ("config.php");
    if($_GET["postar"] == "ok"){
      $data_noticia = $campo["data_noticia"];
      $data_nova = implode("-", array_reverse(explode("/", $data_noticia)));
      $inserir = mysql_query("INSERT INTO noticias (titulo, data_noticia, texto) VALUES ('$titulo','$data_nova','$texto')");
      echo "dados inseridos com sucesso";
    }
    
    ?>
    <form name="form" method="post" action="?postar=ok">
        <div id="tab_inserir">
            <div id="tab_inserir_tt">Título:<br /><input name="titulo" type="text" id="titulo" size="80" /></div>
            <div id="tab_inserir_data">Data:<br /><input type="text" name="data_noticia" id="data_noticia"/></div>
            <div id="tab_inserir_materia">Matéria:<br /><textarea name="texto" cols="100" rows="50"></textarea></div>
            <div id="tab_inserir_fonte">Escrito por:</div>
            <center><input name="submit" type="submit" value="Enviar"></center>
        </div>
    </form>
código onde mostra as notícias:
<?php
                include ("config.php");
                $sql = mysql_query("SELECT * FROM noticias") or die("Erro ao consultar a tabela");
                while($campo = mysql_fetch_array($sql)){
                $data_noticia = $campo["data_noticia"];
                $data_nova = implode("/", array_reverse(explode("-", $data_noticia)));
            ?>
            
                <div id="tab2">
                        <div id="tab_titulo2"><?php echo $campo["titulo"];?></div>
                        <div id="tab_data2" align="center"><? echo $data_nova;?></div>

Link para o comentário
Compartilhar em outros sites

  • 0

Não, não.

Essa parte do código não foi mexida...

Mas você diz que $data_noticia = $campo["data_noticia"];...

E como o PHP sabe o valor de $campo["data_noticia"]; ?

Você atribui isso em algum lugar?

Não seria então:

$data_noticia = $_POST["data_noticia"];

No lugar disso?

Link para o comentário
Compartilhar em outros sites

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.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,1k
    • Posts
      651,8k
×
×
  • Criar Novo...