1. Este site usa cookies. Ao continuar a usar este site está a concordar com o nosso uso de cookies. Saber Mais.

Duvida em data em formulario php para base de dados SQL

Discussão em 'Web Development' iniciada por jonilive, 21 de Junho de 2012. (Respostas: 4; Visualizações: 792)

  1. Estou com um pequeno problema em criar um formulario que crie uma nova linha na tabela SQL, mas numa das colunas queria a data em que foi criada e outra coluna com a data criada + 30 dias, se me poderem ajudar. :) Agradeço.
     
  2. ftav

    ftav Power Member

    Para fazer isso, é primeiro necessário ter o cuidado de verificar se há mudança de mês. De qualquer forma, isso pode ser feito criando uma função que verifica o dia atual e separa e depois junta os campos da data, através da conjugação das funções substr() e mktime(). Depois basta adicionar 30 usando a função DateTime::add. Aconselho também a leitura do manual do PHP, pois tem lá a explicação de como usar as funções.
     
  3. MrOverclock

    MrOverclock Power Member

    No MySQL tens funções que adicionam dias à data sem teres que te preocupar com o mês, isto é, muda o mês caso necessário. No PHP penso que também existe, agora não sei de cor!

    Agora outra questão:

    Tens mesmo que ter na tabela a data e a data + 30? É que isso não é muito correcto. Estás a ocupar espaço na BD com um dado que sabes que é sempre igual ao outro mais 30 dias e pode muito bem ser calculado sempre que necessário. Talvez o correcto seria, quando fores buscar os dados fazeres do género:

    -> SELECT id_Linha, nome, data, ADDDATE(data, INTERVAL 30 DAY) as `data30`

    e vais obter tanto a data como a data+30 em colunas separadas

    ex:

    Código:
    id_linha|| nome                           || data       || data30    
    2342    || Evaristo Mantumbino dos Santos || 2012-06-22 || 2012-07-22 
    



    P.S. - Poderá haver algum erro de sintaxe no SQL que coloquei!

    Manupilação de datas em MySQL -> http://dev.mysql.com/doc/refman/5.5/en/date-and-time-functions.html
     
    Última edição: 22 de Junho de 2012
  4. Sim eu necessito da data mais 30 dias porque o que eu quero fazer é por exemplo um formulario para inserir o nome da pessoa, e automaticamente coloca o nome da pessoa e a data em que preencheu o formulario mais outra data com os +30 dias, na bd mysql. A data dos mais 30 dias é durante quanto tempo uma certa coisa fica activa.
     
  5. MrOverclock

    MrOverclock Power Member

    Podes na mesma usar a função que te disse no INSERT

    Código:
    INSERT INTO tabela (id, nome, data, data30) VALUES($id, $nome, $data, ADDDATE($data, INTERVAL 30 DAY));
    Se estás a usar PHP, podes também trocar o 30 por uma variavel e o número de dias fica também dinamico. Porque se este numero é realmente fixo não faz sentido guardar esta data! Faz-se o calculo no SELECT como eu tinha sugerido
     
    Última edição: 25 de Junho de 2012

Partilhar esta Página