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

Registros que somem


agitonoticias

Pergunta

Ola Amigos,

Estou com um probleminha, na verdade eu já consegui fazer o que eu quero mas acredito que tenha um modo mais fácil de fazer isso

tenho que desenvolver um sistema de classificados enviado pelo usuário cadastrado em meu site, até ai tudo bem, porém esses classificados

teriam que sumir da visualização assim que vencesse o prazo de dias estipulado por min.

Fiz um:

SELECT * FROM classificados ORDER BY id DESC

Na minha tabela tem um campo "data" que pega a data da inclusão do classificado

eu gostaria que somasse a quantidade de dias que eu estipular na "data" e comparasse com

a data atual e se a data atual for menor ou igual a ("data"+Dias estipulados) aparecesse senão ela sumisse.

O problema é que eu consegui fazer isso mas com condições, fora do SELECT com essa função:

function DataExpira($data){

$dias = 10;

$xdat = explode('-', $data);

$xdia = $xdat[2];

$xmes = $xdat[1];

$xano = $xdat[0];

$xdata = "86400" * $dias + mktime(0,0,0,$xmes,$xdia,$xano);

$xdata = date("Y-m-d",$xdata);

return $xdata;

}

O problema é que com essa função eu teria que praticamente fazer o SELECT acima depois

fazer o WHILE e depois a condição para mostrar o registro ou não se for verdadeira a condição imposta, assim:

while...

if(date('Y-m-d') <= DataExpira($rowListClass['data'])){

Mostra o registro;

}

=====================

A minha pergunta é a seguinte, teria uma forma de eu resolver tudo isso direto do SELECT, sem precisar de eu fazer o SELECT depois o WHILE e depois a comparação com if?

Acredito que da forma que eu fiz é muito amadora, alguém já fez algo parecido com isso?

Agradeço desde já!

Link para o comentário
Compartilhar em outros sites

2 respostass a esta questão

Posts Recomendados

  • 0
A minha pergunta é a seguinte, teria uma forma de eu resolver tudo isso direto do SELECT, sem precisar de eu fazer o SELECT depois o WHILE e depois a comparação com if?

Acredito que da forma que eu fiz é muito amadora, alguém já fez algo parecido com isso?

Oi, 'agitonoticias'!

Este é um caso clássico de controle de vigencia de uma operação.

A vigencia determina a partir de quando um determinado registro estará valendo e/ou a partir de quando um determinado registro parrou de valer.

Todas as vezes que trabalhamos com datas de vigência devemos criar, no mínimo um atributo de fim de vigência (normalmente eu crio o atributo de inicio de vigencia, também).

Minha recomendação, sem ver o que você está fazendo, é criar os atributos de inicio e fim de vigencia do classificado.

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,1k
    • Posts
      651,8k
×
×
  • Criar Novo...