Atualização Automática de Campo

1. Atualização Automática de Campo

Everton da Silva
reimassupilami

(usa Slackware)

Enviado em 25/10/2005 - 01:37h

dae povo... seguinte, estou desenvolvendo um sistema com php e postgre... esse sistema armazena documentos, que são aprovados por um oficializador para que depois os usuarios possam ler...

o meu problema é que o oficializador, quando aprova um documento, deve informar uma data para indicar a partir de quando esse documento estará disponível para leitura, usando para isso um campo que indica o status do documento... por exemplo, esse campo pode indicar que o documento está em espera ou aprovado... então como eu poderia fazer para que a partir da data informada pelo oficializador esse campo do status fosse alterado?

tenho algumas ideis, mas muito gambiarras, precisava de uma ideia mais profissional pra resolver... alguma ideia?


  


2. A primeira vista...

Willie Moraes Oliveira
asclows

(usa Slackware)

Enviado em 25/10/2005 - 09:59h

Olha porque você não controla só pela data?

Tipo, se o oficializador já informou a data para exibição do documento o mesmo já se encontra aprovado e aguardando apenas o vencimento desta data. Acho que fica tranquilo, tipo:

sem data ou data nula (0000-00-00) = ainda não aprovado
com data = aprovado e exibição controlada pelo vencimento da data.


3. Re: Atualização Automática de Campo

Anderson de Arruda Casimiro
duodraco

(usa )

Enviado em 25/10/2005 - 10:51h

poderia ser tb por um "OR", se for o caso de ser necessário o uso do status:
SELECT ...
FROM ...
WHERE status = 'A' //aprovado
OR (status = 'E' AND now() >= data)
/*suponho que now() seja o comando para conseguir a data atual no postgre*/


4. Outro modo...

N
o_lalertom

(usa Slackware)

Enviado em 25/10/2005 - 10:59h

Particulamente gosto de fazer esse tipo de validação por 'status', um campo que recebe valores como:

postado => 1
aceito => 2
rejeitado => 3

...assim por diante.

Desse modo você grava no campo 'data_hora' no mesmo tempo que o campo 'status' recebe algum valor. Cada status terá que ter o seu campo 'data_hora':

DataHoraPostado, DataHoraAceito, DataHoraRejeitado, ...

Porque assim você poderá administrar vários status.

Se status for igual a "tal" ele faz "tal". :D

Nycholas de Oliveira e Oliveira - o_lalertom


5. Re: Atualização Automática de Campo

Everton da Silva
reimassupilami

(usa Slackware)

Enviado em 26/10/2005 - 01:27h

owpa, blz povo?

entao asclows, a sua idéia é a unica que eu tive até agora também, nao sei, mas me parece mesmo a melhor saída... tipo fazer o sistema exibir ou nao o documento comparando a data de oficializaçao, se ela for menor ou igual a atual exibe senao nao exibe... né isso?

o_lalertom, entao cara, eu uso status tambem, aí é que está a questao... eu precisava alterar esse status a partir da data especificada pelo oficializador... to pensando em colocar um metodo pra verificar e alterar o status na primeira vez que alguem abrir ele a partir da data de oficialização... q acham?


6. Isso mesmo!

Willie Moraes Oliveira
asclows

(usa Slackware)

Enviado em 26/10/2005 - 08:30h

Tipo, se já tem a data definida a aprovação já foi realizada pelo oficializador!

A única diferença entre controlar o status e controlar a data é gosto mesmo.

É só você ter em mente que "ter data definida" é um status e controlar a exibição para data correta.


7. Beleza...

N
o_lalertom

(usa Slackware)

Enviado em 26/10/2005 - 10:41h

No seu caso só existe dois "status", o 'não-oficializado' e o 'oficializado', isso vai servir tranqüilo, mais se fosse mais de dois "status" você teria que fazer de outro modo.

Tome cuidado de na hora que for especificar o método para atualização do "status", que atualize somente na primeira vez que for clicado. Eu já tive problemas com isso deu uma dor de cabeça...

Nycholas de Oliveira e Oliveira - o_lalertom






Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts