Ir para conteúdo

POWERED BY:

Arquivado

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

Tigger

Validade

Recommended Posts

Como faco para depois de uma data registrada no banco a informacao nao ser mais impressa:Ex: Cadastrei uma informacao em 06/07/2005quando for 08/07/2005 ela nao mais aparecer no meu site:PS:. Utilizo banco Access

Compartilhar este post


Link para o post
Compartilhar em outros sites

Estou fazendo a seguinte comparacao

 

ASP

[*]

 

[*] <%

 

[*]SQL "SELECT * FROM ULTIMAS_NOTICIAS ORDER BY UN_CODIGO DESC"

 

[*] SET RS Cnn.execute(SQL)

 

[*]

 

[*] DiffADate DateDiff(RS("UN_DATA"), Now, RS("UN_DATA_VALIDADE"))

 

[*]

 

[*]Response.Write(DiffADate)

 

[*]Response.End()

 

[*] 

 

[*] %>

 

[*]

 

Como consigo imprimir a diferenca entre a RS("UN_DATA") e a RS("UN_VALIDADE_DIAS")

 

para que eu posso fazer a seguinte comparacao;

 

ASP

[*]

 

[*]

 

[*]IF DiffADate <= 30 Then

 

[*]

 

[*] Response.Write(RS("UN_DESCRICAO"))

 

[*]

 

[*]'IMPRINDO A NOTICIA

 

[*]

 

[*]ELSE

 

[*]

 

[*]  Reponse.Write("Nenhuma noticia foi cadastrada ate o momento!!!")

 

[*]

 

[*]END IF 

 

[*]

 

[*]

 

....aguardo ajuda!!!

 

[]´s

Compartilhar este post


Link para o post
Compartilhar em outros sites

Bem ,

 

esse codigo de validade de notica ja foi resolvido.

 

Utilizei o DateDiff, onde ele me retornaria a diferenca entre a data atual e a data cadastra em numero inteiro.

 

Dessa maneira fiz com que se a variavel que recebe o valor de DateDiff for "< = " 0 Entao nao seria mostrada a noticia,

 

ASP

[*]

 

[*]DiffADate DateDiff("d",Now, RS("UN_DATA_VALIDADE"))

 

[*]

 

[*]IF DiffADate < = 0 Then

 

[*] Response.Write "Nao existe nenhuma noticia cadastrada!!"

 

[*]END IF

 

[*]

 

 

Se a variavel fosse maior que zero entao mostra a(s) noticia(s)

ASP

[*]

 

[*]DiffADate DateDiff("d",Now, RS("UN_DATA_VALIDADE"))

 

[*]

 

[*]IF DiffADate > 0 Then

 

[*] Response.Write (RS("UN_TEXTO_SIMPLES"))

 

[*]END IF 

 

[*]

 

******

 

So que ai temos o seguinte problema!!

>> Como iremos fazer com que apos uma noticia ter o seu DATEDIFF = "0" nao seje mostrada na tela a seguinte mensagem

 

"Nao existe nenhuma noticia cadastrada ate o momento!!!"

 

essa mensagem so pode aparecer se todas as noticas cadastradas EXPIRAREM......

 

nao sei se expliquem bem...mais agradeco a todos que me ajudarem

Compartilhar este post


Link para o post
Compartilhar em outros sites

use só a segunda parte cara

 

não precisa disso

 

ASP

    [*]DiffADate DateDiff("d",Now, RS("UN_DATA_VALIDADE"))

     

    [*]

     

    [*]IF DiffADate < = 0 Then

     

    [*]

     

    [*] Response.Write "Nao existe nenhuma noticia cadastrada!!"

     

    [*]

     

    [*]END IF

Compartilhar este post


Link para o post
Compartilhar em outros sites

Na verdade essa MSG sera impressa quando tivermos um noticia EXPIRADA,

 

so que a logica do negocio, seria que a MSG fosse impressa quando todas as noticias expirarem.

 

e nao apenas uma como esta acima.

 

tentei usar o seguinte codigo

 

ASP

[*]

 

[*]while not RSDate.EOF

 

[*]

 

[*]  IF DiffADate <= 0 Then

 

[*]  Response.Write("Nao existe noticia cadastrada!!!")

 

[*]  END IF

 

[*]

 

[*]RSDate.MoveNext

 

[*]Wend

 

[*]

Compartilhar este post


Link para o post
Compartilhar em outros sites

bem se for isso não funfa não...

 

 

bem a onda eh você pesquisar já na SQL de consulta

 

SELECT NOTICIAS FROM TABELA WHERE DateDiff("d",Now, UN_DATA_VALIDADE) > 0 "

 

ai antes do loop você testa

 

ASP

    [*]IF RSDate.EOF THEN

     

    [*]Response.Write("Nao existe noticia cadastrada!!!"

     

    [*]ELSE

     

    [*]while not RSDate.EOF

     

    [*]  Response.Write (RS("UN_TEXTO_SIMPLES"))

     

    [*]  RSDate.MoveNext

     

    [*]Wend

     

    [*]END IF

 

veja se isto resolve

Compartilhar este post


Link para o post
Compartilhar em outros sites

Cara,

essa query nao esta certa

 

SELECT NOTICIAS FROM TABELA WHERE DateDiff("d",Now, UN_DATA_VALIDADE) > 0 "

 

Da o seguinte erro;

 

Tipo de erro:

Erro de compilação do Microsoft VBScript (0x800A0401)

Fim da instrução esperado

/SITE/Default.asp, line 225, column 56

 

O codigo que fiz e o seguinte:

ASP

[*]

 

[*]SQL "SELECT * FROM ULTIMAS_NOTICIAS"

 

[*] SET RS Cnn.execute(SQL)

 

[*]

 

[*]

 

[*] SQL2 "SELECT * FROM ULTIMAS_NOTICIAS WHERE DateDiff("d",Now,RS("UN_VALIDADE_DIAS")) > 0"

 

[*] SET RSDate Cnn.execute(SQL2)

 

[*]

 

[*]

Compartilhar este post


Link para o post
Compartilhar em outros sites

eh por causa das aspas...só corrigir que funfa

Compartilhar este post


Link para o post
Compartilhar em outros sites

Mesmo assim, eu coloquei da seguinte maneira

ASP

[*]

 

[*] SQL " SELECT NOTICIAS FROM ULTIMAS_NOTICIAS WHERE DateDiff('d',Now, UN_DATA_VALIDADE) > 0 "

 

[*] SET RSDate Cnn.execute(SQL)

 

[*]

e nao pega o DIA atual.

 

e ainda continua dando erro!!!

ASP

[*]

 

[*][Microsoft][Driver ODBC para Microsoft Access] Parâmetros insuficientes. Eram esperados 2.

 

[*]/site/Default.asp, line 223

 

[*]

Compartilhar este post


Link para o post
Compartilhar em outros sites

vamos fazer um testeSQL = " SELECT NOTICIAS FROM ULTIMAS_NOTICIAS WHERE " & DateDiff("d",Now, UN_DATA_VALIDADE) & " > 0 "bem acho que ainda vai dar erro mas testa ai...

Compartilhar este post


Link para o post
Compartilhar em outros sites

então vamos voltar pro que tava antes só que usando um contador no laço

 

volta a sql pro que tava antes e muda o loop pra algo assim

 

ASP

    [*]contador = 0

     

    [*]while not RSDate.EOF

     

    [*] contador = contador + 1

     

    [*] DiffADate DateDiff("d",Now, RS("UN_DATA_VALIDADE"))

     

    [*] IF DiffADate > 0 Then

     

    [*] Response.Write (RS("UN_TEXTO_SIMPLES"))

     

    [*] END IF 

     

    [*] RSDate.MoveNext

     

    [*]Wend

     

    [*]

     

    [*]IF contador = 0 THEN

     

    [*] Response.Write("Nao existe noticia cadastrada!!!")

     

    [*]END IF

 

agora veja se rola

Compartilhar este post


Link para o post
Compartilhar em outros sites

Grande garoto!!Funcionou direitinho;

boa...parabens http://forum.imasters.com.br/public/style_emoticons/default/bye1.gif

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.