Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

visitante_php

calculo de data: data igual ou maior

Recommended Posts

eu pretendo montar um sistema de noticias onde cada noticia sera liberada conforme o dia cadastrado...eu pensei em fazer assim:

if(date("Y") == $query['ano']){

if(date("m") == $query['mes']){

if(date("d") == $query['dia']){

codigo da noticia

}

}

}

so q daria erro pq o dia pode ser menor quando virar o mes, entao pensei em colocar um campo na notica q dira se ela foi liberada ou nao,caso foi nem faz a verificacao do dia, tipo:

 

if(date("Y") == $query['ano']){

if(date("m") == $query['mes']){

if($query['liberada'] == 1){

codigo da noticia

}else{

if(date("d") == $query['dia']){
$sql = "update * from noticias set liberada = 1 where dia=".date("d");
mysql_query($sql);

codigo da noticia

}

}

}

}

esse codigo que postei eu acabei de fazer, nao sei se daria certo....mas queria uma luz de como fazer.... =/

Compartilhar este post


Link para o post
Compartilhar em outros sites

Eu fiz isso com banners, funciona assim o cara cadastra o dia que vencerá o banner, naquele dia não ia aparecer mais

 

então ficou assim

 

$data = date("Y-m-d");
$query_rsListar = "SELECT * FROM web_banner WHERE habilitado = 's' AND data_inicio <= '$data' AND data_fim >= '$data'ORDER BY RAND() LIMIT $qtd ";

No BD cadastrei data_inicio e data_fim tipo DATE e comparei ai na consulta igual o amigo ai disse

Se a DATA DE INICIO(que cadastrei no BD) for menor ou igual a DATA DE HOJE (que estou pegando em cima da query) e a DATA DO DIM(tbm cadastrei no bd) for maior ou igual a DATA DE HOJE então irá aparecer o banner.

 

Sacou??

Não é dificil não...

Vai postando ai que a galera ajuda

Compartilhar este post


Link para o post
Compartilhar em outros sites

na verdade, como eu fiz o codigo correndo, na hora, ele saiu meio errado, seria assim:

 

if(date("Y") >= $query['ano']){

if(date("m") >= $query['mes']){

if($query['liberada'] == 1){

codigo da noticia

}else{

if(date("d") >= $query['dia']){
$sql = "update * from noticias set liberada = 1 where dia=".date("d");
mysql_query($sql);

codigo da noticia

}

}

}

}

eu kero q ao vriar o dia, ela apareça e o sistema sete(de setar) como liberada

Compartilhar este post


Link para o post
Compartilhar em outros sites

Cara, teu campo na tabela ta como?

trabalha com DATETIME.......

 

gravar na tabela, já formatado, é dor de cabeça........

 

é cansera pra fazer comparações, você irá precisar tratar isso muitas vezes....grava normal mesmo......YYYY-MM-DD

 

Do jeito que você ta fazendo, pode quebrar tudo......

 

Att.,

Andrey Moretti

Compartilhar este post


Link para o post
Compartilhar em outros sites

eu to colocando 3 campos varchar: dia, mes e ano, como eu trabalharia com datetime?, eu tenho um script em "ajax" que pode colocar num campo input text a data como 17/07/2008, ae eu teria q reverter o valor do campo q no caso seria 17/07/2008 neh?

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.