Ir para conteúdo

POWERED BY:

Arquivado

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

lewebpunk

problemas para inserir tipo date no mysql

Recommended Posts

Olá estou precisando de ajuda para inserir um campo que é tipo date na banco de dados a partir de um formulario html, mas eu não estou conseguindo, como eu devo configurar o formulario para que ele seja inserido no banco de dados??

Compartilhar este post


Link para o post
Compartilhar em outros sites

Posta o que não está funcionando, fica mais fácil identificar erro, do que escrever um tutorial. :P

Compartilhar este post


Link para o post
Compartilhar em outros sites

é que eu to no computador do meu serviço, nun tah aqui o codigo.....

mas quando você configura no banco de dados um campo tipo date, que type eu tenho que por no formulario para ele inserir este dado no banco de dados, text ou tem um especifico para isso?

Compartilhar este post


Link para o post
Compartilhar em outros sites

<input name="data" type="text" class="input" value="99/99/9999" />

$aux= explode("/", $_POST[data_ag]); // (99/99/9999 Data no formato normal) 

$dat = $aux[2]."-".$aux[1]."-".$aux[0];  // (9999-99-99  Data no formato MySQL )

 

Insere a variavel $dat no banco de dados

 

Faroows

Compartilhar este post


Link para o post
Compartilhar em outros sites

Se você quiser inserir a data do momento em que o registro é criado, é só colocar NOW(), no insert do sql, relativo ao campo.

 

Tipo, insert into tabela (data) values ('NOW()')

 

Isso vai inserir o momento exato do cadastro, ou seja, data de hoje e a hora.

Caso queira inserir uma data escrita pelo usuário, aí já teria que validar o que ele digitou e etc.

Compartilhar este post


Link para o post
Compartilhar em outros sites

A pessoa digita 15/05/2008

 

ai você envia pra pagina que vai receber essa informação e trata ela:

 

$dia = "{$_POST['data']}";

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

 

depois inclui no banco:

 

$query = " INSERT INTO sua_tabela (data) VALUES('$data') ";

$result = mysql_query($query);

 

Feito muito fácil!!!

 

http://forum.imasters.com.br/public/style_emoticons/default/clap.gif

Compartilhar este post


Link para o post
Compartilhar em outros sites

Tsubaru, se colocar o now() entre as ele não vai entender como uma string? realmente estou com duvida, por isso esse comentário/pergunta.

 

 

Flw

Compartilhar este post


Link para o post
Compartilhar em outros sites

<input name="data" type="text" class="input" value="99/99/9999" />

 

$aux= explode("/", $_POST[data_ag]); // (99/99/9999 Data no formato normal)

 

$dat = $aux[2]."-".$aux[1]."-".$aux[0]; // (9999-99-99 Data no formato MySQL )

Não precisa isso tudo mano... veja só, crie uma tabela com o campo DATE e faça o seguinte:

 

$data=date('Y-m-d');
if(mysql_query("INSERT INTO tabela (campo) VALUES ('$data')")){echo 'Data'.$data.'Inserida com êxito';}

para trazer a data para nosso formato a partir do MySQL:

 

$busca=mysql_query("SELECT campo,date_format(campo,'%d/%m/%Y') as campo FROM tabela");
$ver=mysql_fetch_array($busca);
echo $ver['campo'];

para trazer a data para nosso formato a partir do PHP:

 

$busca=mysql_query("SELECT campo FROM tabela");
$ver=mysql_fetch_array($busca);
echo implode('/',array_reverse(explode('-',$ver['campo'])));

Abraço.

Compartilhar este post


Link para o post
Compartilhar em outros sites

A pessoa digita 15/05/2008

 

ai você envia pra pagina que vai receber essa informação e trata ela:

 

$dia = "{$_POST['data']}";

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

 

depois inclui no banco:

 

$query = " INSERT INTO sua_tabela (data) VALUES('$data') ";

$result = mysql_query($query);

 

Feito muito fácil!!!

Dessa maneira ele não poderia gravar no campo correto que é o date, o melhor seria capturar a data automaticamente e colocar em um input veja só, crie uma tabela com o campo DATE e faça o seguinte:

 

$data=date('Y-m-d');

<form........................................................................
.................................

echo "<input type=\"text\" name=\"hoje\" value=\"$data\">";

echo "<input type=\"submit\" name=\"enviar\" value=\"Cadastrar\">";

</form>
$agora=$_POST['hoje'];
if(mysql_query("INSERT INTO tabela (campo) VALUES ('$agora')")){echo 'Data'.$data.'Inserida com êxito';}

para trazer a data para nosso formato a partir do MySQL:

 

$busca=mysql_query("SELECT campo,date_format(campo,'%d/%m/%Y') as campo FROM tabela");
$ver=mysql_fetch_array($busca);
echo $ver['campo'];

para trazer a data para nosso formato a partir do PHP:

 

$busca=mysql_query("SELECT campo FROM tabela");
$ver=mysql_fetch_array($busca);
echo implode('/',array_reverse(explode('-',$ver['campo'])));

Abraço.

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.