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

Inserindo Data Em Mysql !


felipeatto

Pergunta

qual o melhor tipo de campo para inserir letras e números juntos no mysql???

e no html as inputs podem ser tipo text para inserir esse tipo de dado no mysql???

qual a melhor interface que eu devo mostrar no html para salvar num campo tipo date do mysql??/

akelas caixas de texto separadas, uma para dia, outra para mês e outra para ano... ou eu faço tudo em uma dividida por "/" ou "-"??? qual a melhor opção e para salvar eu vou ter q usar alguma opção especial do php para isso???

Valeus.. smile.gif

Link para o comentário
Compartilhar em outros sites

12 respostass a esta questão

Posts Recomendados

  • 0

Oi, felipeatto. jóia, cara?

Olha, não posso te ajudar muito, porque também estou começando... cool.gif

mas quanto à data, tenta fazer isso:

* na inclusão da data, você cria uma $ definindo o formato que a data deve ir pro mysql, aí você põe uma caixa text e instrução de como a pessoa deve preencher: dd/mm/aaa

$datanascimento= trim($_POST["Nascimento"]);

if (strstr($nascimento, "/")){

$aux2 = explode ("/", $nascimento);

$datai2 = $aux2[2] . "-". $aux2[1] . "-" . $aux2[0];

}

* para imprimir a data no formato correto na página, você coloca assim no select:

$sql = "SELECT date_format(nascimento,'%d/%m/%Y') as nascimento FROM tabela";

Bom, eu usei assim... e funcionou... se tá faltando alguma coisa ou se não é bem isso que você quer... desculpa aí...

não devia nem tá me metendo a responder, mas é que ralei pra encontrar esse troço da data, também...

a intenção é só ajudar, falou!... rolleyes.gif

boa sorte.

Link para o comentário
Compartilhar em outros sites

  • 0

É Dev, funciona legal esse código, não conhecia ele...

Mas eu fiz assim... eu tenho dois campos data. Uma para dia que foi feito o cadastro, que defini no insert.php e outro que toda vez que eu atualizar o sistema vai gerar data e hora de atualização.

A data normal somente defini date("d/m/Y");

Para Tempo eu defini da seguinte forma...

$data = date("d/m/Y - H:i:s",time() - 86400 * 1);

Bom, tenta isso ae Felipe...

-----------------------------------

qual o melhor tipo de campo para inserir letras e números juntos no mysql???

R. Para data eu uso DATE. Mas para receber letras e numeros, VARCHAR. Somente Número INT. Para definir moeda, uso FLOAD(10,2), por exemplo... Básicamente é isso.

e no html as inputs podem ser tipo text para inserir esse tipo de dado no mysql???

R. Pode ser usado SELECT, HIDDEN, TEXT, BOX... O que importa é a definição do seu banco de dados... Me refiro a quantidade de caracteres a ser inserido. você define... CHAR(255) vai receber 255 caracteres, TEXT() vai receber quantos caracteres quiser... INT(10), vai receber 10 números... e assim por diante...

Em relação a Interface, você pode usar o padrão normal...

Um select para dia, um select para mês e um para o ano.

Ae você pega os 3 valores, junta e salva...

Se quiser mais explicação, sobre isso, posta e...

falou

Eduardo

Link para o comentário
Compartilhar em outros sites

  • 0

cara ta meio estranho os negócios..acho q eu estou bobeando em alguma coisa..vou mandar meus dois códigos, os do html e os do arquivo .php pra vocês, se quiserem dar uma olhadinha....

interface HTML:

<html>

<body>

<form name=form method=post action=confirmcad.php>

<table border=0>

<tr>

<big><u>Cadastro de Placas:</u></big>

</tr><br>

<tr>

<td width=200>Tipo da Placa:</td><td><input type="text" name="tipo" size=15></td>

</tr>

<tr>

<td>Part-Number:</td><td><input type="text" name="part" size=30></td>

</tr>

<tr>

<td>Central:</td><td><input type="text" name="central" size=30></td>

</tr>

<tr>

<td>Número de Série:</td><td><input type="text" name="numero" size=10></td>

</tr>

<tr>

<td>Data de Entrada:</td><td><input type="date" name="entrada" size=10></td>

</tr>

<tr>

<td>Fornecedor:</td><td><input type="text" name="fornecedor" size=20></td>

</tr>

<tr>

<td>Nota Fiscal nº:</td><td><input type="text" name="notaf" size=10></td>

</tr>

<tr>

<td>Prateleira:</td><td><input type="text" name="prateleira" size=5></td>

</tr>

<tr>

<td>Observação:</td><td><textarea name="obs" cols=20 rows=3></textarea></td>

</table>

<tr><input type="submit" name="botao" value="Salvar Cadastro"></tr>

</form>

</body>

</html>

Agora o arquivo PHP:

<?php

$db = mysql_connect("localhost");

if (!$db)

{

echo ("Sem conexão com o banco de dados!");

exit;

}

mysql_select_db("test", $db);

$entrada = trim($_POST["entrada"]);

if (strstr($entrada, "/")){

$aux2 = explode ("/", $entrada);

$datai2 = $aux2[2] . "-". $aux2[1] . "-" . $aux2[0];

}

$inserir = mysql_query("INSERT INTO tabelateste VALUES('$tipo', '$part', '$central', '$numero', '$datai2', '$fornecedor', '$notaf', '$prateleira', '$obs')");

if(!inserir){

echo "Erro ao tentar inserir os dados!! ".mysql_error();

}else{

echo "Dados inseridos com sucesso!!! ";

}

?>

Link para o comentário
Compartilhar em outros sites

  • 0

Aí Felipe, tenta isso q fiz...

falou...

Formulário Modificado

<html>

<body>

<form name=form method=post action=confirmcad.php>

  <table border=0>

    <br>

    <tr>

      <td width=200>Tipo da Placa:</td>

      <td><input type="text" name="tipo" size=15></td>

    </tr>

    <tr>

      <td>Part-Number:</td>

      <td><input type="text" name="part" size=30></td>

    </tr>

    <tr>

      <td>Central:</td>

      <td><input type="text" name="central" size=30></td>

    </tr>

    <tr>

      <td>Número de Série:</td>

      <td><input type="text" name="numero" size=10></td>

    </tr>

    <tr>

      <td>Fornecedor:</td>

      <td><input type="text" name="fornecedor" size=20></td>

    </tr>

    <tr>

      <td>Nota Fiscal nº:</td>

      <td><input type="text" name="notaf" size=10></td>

    </tr>

    <tr>

      <td>Prateleira:</td>

      <td><input type="text" name="prateleira" size=5></td>

    </tr>

    <tr>

      <td>Observação:</td>

      <td><textarea name="obs" cols=20 rows=3></textarea></td>

  </table>

<tr><input type="submit" name="botao" value="Salvar Cadastro"></tr>

</form>

</body>

</html>

ARQUIVO PHP

<?php

// Definindo data

$datai2 = date("d/m/Y");    // insere a data atual

// Pegando dados da tabela

$tipo                = $_POST["tipo"];

$part              = $_POST["part"];

$central          = $_POST["central];

$numero          = $_POST["numero"];

$fornecedor    = $_POST["fornecedor"];

$notaf            = $_POST["notaf"];

$prateleira      = $_POST["prateleira"];

$obs              = $_POST["obs"];

$conn = mysql_connect("localhost","","") or die("Impossível conectar, ".mysql_error());

$db  = mysql_select_db("test");

$inserir = mysql_query("

INSERT INTO teste

(tipo, part, central, numero, datai2, fornecedor, notaf, prateleira, obs)

VALUES('$tipo', '$part', '$central', '$numero', '$datai2', '$fornecedor', '$notaf', '$prateleira', '$obs') ");

if(!inserir){

echo "Erro ao tentar inserir os dados!! ".mysql_error();

}else{

echo "Dados inseridos com sucesso!!! ";

}

?>

Alguma dúvida, tc ae... falou...

Link para o comentário
Compartilhar em outros sites

  • 0

você esta usando algum campo com autoincremento no começo da tabela ?

se tiver você tem que colocar assim:

se você quer colocar a data atual use o now() mais pratico

$inserir = mysql_query("INSERT INTO tabelateste VALUES('','$tipo', '$part', '$central', '$numero',now(), '$fornecedor', '$notaf', '$prateleira', '$obs')");

e outra coisa se você usa a conexao padrão você pode deixar assim:

$conn = mysql_connect("localhost") or die("Impossível conectar, ".mysql_error());

e para você receber os dados da outra pagina use isso:

foreach ($_POST as $campo => $valor) { $$campo = $valor; }

muito mais pratico e não importa o tanto de campos que você tiver ele cria a variavel com o nome do campo

Link para o comentário
Compartilhar em outros sites

  • 0

eu estou conseguindo conectar só com localhost, e não tenho nenhum campo autoincrement...

ah e a data não pode ser a atual, tem q ser uma data definida pelo usuário..

mais além eu vou implantar isso que vocês falaram pela segurança mas por enquanto eu quero só a data atual...

Link para o comentário
Compartilhar em outros sites

  • 0

Será Fábyo?

eu tentei só com localhost e não foi...

tive q inserir pelo menos "",""

mas ta valendo...

Encrementou o script q passei...

Vlw! hehehe

falou ae

Cara igual eu falei não tem como errar se colocar só o localhost se você estiver usando a conexao padrão, e não foi eu que inventei isso, isso é padrão do sistema se no seu não funciona tem algo errado ai, mas se não quiser ver deixe do jeito que você ta usando

Link para o comentário
Compartilhar em outros sites

  • 0

você ta usando assim na sua pagina:

$datai2 = date("d/m/Y");    // insere a data atual

então não muda nada do que eu falei acima usa o comando now() em vez do $datai2 que ele vai gravar no banco a data atual não tem segredo

Link para o comentário
Compartilhar em outros sites

  • 0

já que estamos falando de datas ai vai um script pra gerar o combo das datas automaticamente em vez de você ter que escrever tudo no dedo

        <?

// construindo o select do dia

echo "<select name=\"dia\">\n";

for ($i = 1; $i <= 31; $i++) {

   $i = sprintf("%02d", $i); // preencher com zero À esquerda

   echo "\t<option value=$i>$i</option>\n";

}

echo "</select>";

?>

        <?

  // construindo o select do mês

echo "<select name=\"mes\">\n";

for ($i = 1; $i <= 12; $i++) {

   $i = sprintf("%02d", $i); // preencher com zero À esquerda

   echo "\t<option value=$i>$i</option>\n";

}

echo "</select>";

?>

        <?

    // construindo o select do ano

echo "<select name=\"ano\">\n";

for ($i = 2004; $i <= 2010; $i++)

   echo "\t<option value=$i>$i</option>\n";

echo "</select>";

?>

E um script que verifica se a data é valida, exemplo 31/02/04 não existe

coloque isso na pagina que ira gravar os dados

include "valida_data.php";

  if (!validar($dia, $mes, $ano)){

      echo "<center><font color=red>Data Inválida : $dia/$mes/$ano </font></center><br>

            <a href=\"javascript:history.go(-1)\"><center>Voltar</center></a>";

  exit();

}

agora o script que verifica a data é valida :

<?php

// função usada para validar o ano

function validar($dia , $mes, $ano) {

if ( (($ano % 4) == 0) && ($mes == 2) && ($dia > 29) )

  // se o mês for fevereiro e o ano for bissexto, dia não pode

  // ser maior que 29

  return 0;

else if ( (($ano % 4) > 0) && ($mes == 2) && ($dia > 28) )

  // se o mês for fevereiro e o ano não for bissexto, dia não pode

  // ser maior que 28

  return 0;

else if( (($mes == 4) || ($mes == 6) || ($mes == 9) || ($mes == 11) ) && ($dia == 31))

  // se o mês for Abril, Junho, Setembro ou Novembro, dia não pode ser 31

  return 0;

else

  return 1;

}

?>

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,3k
    • Posts
      652,5k
×
×
  • Criar Novo...