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

(Resolvido) Sistema de agenda de shows


buthy

Pergunta

Então, estou fazendo um sistema de agenda de shows para o site de um cliente,

e queria saber qual o melhor tipo de dado para salvar a DATA no Banco de Dados...

Atualmente, estou salvando em VARCHAR normal... Mas daí complica na hora de ordenar os eventos pela data...

Utilizo uma máscara no input do formulário para salvar no formato DD/MM/AAAA...

Também queria saber, se salvando em algum formato "diferente" do VARCHAR no banco de dados, ora eu poderia exibir somente o dia, e ora exibir somente o mes e ano...

Daí, caso der pra usar o DATE, DATETIME ou algo do gênero, queria saber como eu poderia exibir somente a parte que desejo, ou só o dia, ou mes e ano, ou dia e mês, etc...

E como ficaria o formulário, teria que tirar a máscara?

e o código para salvar no BD como ficaria também?

Outra coisa que queria saber: tem algum jeito de eu colocar tipo uma "validade" nos registros do BD, por exemplo, se um evento vai acontecer no dia 22/10/2011, queria que no dia 23/10/2011 ele fosse deletado automaticamente do BD... Tem como?

Muito obrigado!

Editado por buthy
Link para o comentário
Compartilhar em outros sites

8 respostass a esta questão

Posts Recomendados

  • 0

Buthy,

O correto para data é : DateTime;

Para guarda a data no mysql, você pode usar a função

NOW()
que grava no formato: 2011-06-30 12:51:00 Depois para recuperar e jogar a data para brasileiro é só fazer uma conversão básica no seu select ex:
select id, categoria, show, local, date_format(data,'%d/%m/%Y') as data from shows
Para filtra por data você pode usar:
select * from shows
where date_format(data, '%Y') = 2011

Entendeu?

Link para o comentário
Compartilhar em outros sites

  • 0

Ok, quanto a primeira dúvida está resolvido...

Mas ficou essa daí:

Outra coisa que queria saber: tem algum jeito de eu colocar tipo uma "validade" nos registros do BD, por exemplo, se um evento vai acontecer no dia 22/10/2011, queria que no dia 23/10/2011 ele fosse deletado automaticamente do BD... Tem como?

Link para o comentário
Compartilhar em outros sites

  • 0
Ok, quanto a primeira dúvida está resolvido...

Mas ficou essa daí:

Outra coisa que queria saber: tem algum jeito de eu colocar tipo uma "validade" nos registros do BD, por exemplo, se um evento vai acontecer no dia 22/10/2011, queria que no dia 23/10/2011 ele fosse deletado automaticamente do BD... Tem como?

Cara, não sei, porque vai estar no banco cadastrado, então do nada não sei se tem como, mas você pode fazer uma função ou uma trigger em qualquer coisa que envolva algum evento no banco, por exemplo, se haver pelo menos um cadastro de show por dia, consequentemente haverá um evento no banco, então você pode fazer uma função e colocar uma trigger para quando algo for inserido/atualizado no banco a trigger apaga os show vencidos, algo + assim:

CREATE TRIGGER del_shows_vencidos AFTER INSERT ON tbl_shows

FOR EACH ROW BEGIN

DELETE FROM SHOWS WHERE DATA < NOW()

END

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,2k
×
×
  • Criar Novo...