Ir para conteúdo

POWERED BY:

Arquivado

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

ProgramadorASP

Sistema de Validade

Recommended Posts

Amigos,

 

estou tentando fazer um sistema de validade de noticias!

 

Ja postei essa duvida antes mais nao tive sucesso.

 

O negocio e o seguinte.

 

Tenho uma tabela com os campos de UN_DATA E UN_VALIDADE_DIAS

 

a verdade e que quando eu cadastrar um noticia, quando ultrapassar a DATA_EXPIRACAO a noticia suma automaticamente.

 

ja tentei usar o DateDiff, fiz varias consultas SQL e nada deu certo.

 

ASP

[*]

[*]<%

[*]SELECT *

[*]FROM

[*]  ULTIMAS_NOTICIAS

[*]WHERE

[*][COLOR=red] (  ( UN_DATA >= DATE()  )[/color] AND  ( UN_VALIDADE_DIAS <= DATE() )  )

[*]%>

[*]

 

A parte em vermelho que e o problema:

 

Por que temos o seguinte:

 

- UN_DATA nunca pode ser maior que a data atual do seu computador!! Como você pode cadastrar um noticia e a mesma ser maior que a data atual!!

 

- UN_VALIDADE_DIAS MENOR que a data atual!! Essa parte sim, esta certa.

 

Porque podemos ter uma validade para 02/04/2005 com data atual de 01/04/2005.

 

Bem e isso, se alguem puder me ajudar ficaria muito grato!!!

 

....o bicho http://forum.imasters.com.br/public/style_emoticons/default/devil.gif ta pegando aqui, por favor me ajude... http://forum.imasters.com.br/public/style_emoticons/default/cry.gif

Compartilhar este post


Link para o post
Compartilhar em outros sites

bomvamos começar o help deskhuauhauhahuauavamos tentar entender o que você quer:- você tem 2 campos no banco- 1 deles, guarda a data que a noticia foi cadastrada- o outro campo, guarda o numero de dias que ela deve ficar no ar. (se data_atual - data_cadastro >= campo_limite entao nao aparece)eh isso?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Cara soh mudando se assunto, você esta querendo o icone pro sistema e frota ainda????Tipo eu senho ele em PNG se quiser

Compartilhar este post


Link para o post
Compartilhar em outros sites

Correto!!!

 

Mas na verdade nao faco DATA_CADASTRO - DATA_EXPIRACAO.

 

faco uma condicao dos dois campos.

 

DATA_CADASTRO - > tem que ser maior ou igual que a data ATUAL

DATA_EXPIRACAO - > tem que ser menor ou igual a data ATUAL

 

 

DATA_CADASTRO - > 01/04/2005

 

DATA_ATUAL - > 03/04/2005

 

DATA_EXPIRACAO - > 05/04/2005

 

http://forum.imasters.com.br/public/style_emoticons/default/joia.gif

Compartilhar este post


Link para o post
Compartilhar em outros sites

Qual seu e-mail?

Compartilhar este post


Link para o post
Compartilhar em outros sites

To postando ele aki em dois formatos, um jpg e outro gif, o gif eh pra se você quiser usar transparencia

 

Imagem PostadaImagem Postada

 

Se quiser o PNG me passa um e-mail

Compartilhar este post


Link para o post
Compartilhar em outros sites

Recebeu o e-mail????

Compartilhar este post


Link para o post
Compartilhar em outros sites

Galera,

 

cheguei a uma conclusao:

 

Posso fazer da seguinte maneira:

 

Pegar o valor do campo por exemplo DATA_CADASTRO e jogar nas seguintes variaveis.

 

DATA_CADASTRO - > 01/04/2005

 

dd = 01

mm = 04

aa = 2005

 

dessa maneira posso comparar com mais facilidade as datas!!

 

So que tem um problema, nao consigo "quebrar" a data e jogar os respectivos valores nas variaves acima!?!?!

 

 

Segue o codigo que estou usando!

 

ASP

[*]

[*]<%

[*] dim dd, mm, aa

[*] Function FormataData(data)

[*] dd = Day(data)

[*] mm = Month(data)

[*] aa = Year(data)

[*] if len(dd) = 1 then dd = "0" & dd

[*] if len(mm) = 1 then mm = "0" & mm

[*] FormataData = CStr(dd & "/" & mm & "/" & aa)

[*]

[*] End Function

[*]%>

[*]

 

bem e isso, nao estou conseguindo pegar os valores da data!!!

 

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

Compartilhar este post


Link para o post
Compartilhar em outros sites

ASP

[*]<%

[*]Select * from ultimas_noticias where (un_data >= date) and (un_validade_dias <= date)

[*]%>

 

rodando o codigo, ele faz o que? dá erro no sql?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Nao acontece literalmente nada!!

 

porque dificilmente você tera uma

 

UN_DATA >= DATE()

 

Ex;

 

UN_DATA = 01/03/2005

DATE() = 31/03/2005

 

01/03/2005 - nao e maior muito menos igual a 31/03/2005

 

como havia dito antes, o problema esta nessa comparacao,por que com o campo UN_VALIDADE_DIAS esta bem mais simples

 

 

UN_VALIDADE_DIAS = 05/03/2005

DATE() = 31/03/2005

 

ASP

[*]

[*]<%

[*]UN_VALIDADE_DIAS <= DATE()

[*] RESPONSE.WRITE ("NOTICIA IRA APARECER")

[*]ELSE

[*] RESPONSE.WRITE("NOTICIA NAO IRA APARECER")

[*]

[*]%>

[*]

 

http://forum.imasters.com.br/public/style_emoticons/default/thumbsup.gif

Compartilhar este post


Link para o post
Compartilhar em outros sites

Então..dia = day(now)mes = month(now)ano = year(now)Data_atual = CStr(dia) + "/" + CStr(mes) + "/" + CStr(ano)assim você está colocando a data no formato que você quiser..depois disso, fazendo a comparação, nao funciona?Em que formato os dados ficam no banco de dados?Qual o tipo de campo que você colocou no banco?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Nao cara!!

 

Eu nao estou conseguindo colocar a data dentro das variaveis

[dd]

[mm]

[aa]

 

 

acho que seu eu consegi fazer isso, resolvo meu problema!!!

 

os dados ficam com a seguinte disposicao = 01/03/2005

TIPO DE CAMPO = DATA/HORA

BD = MSACCESS

 

 

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

Compartilhar este post


Link para o post
Compartilhar em outros sites

você jah tentou separar os valores pelo DateDiff ( ) ?????????Acho que por ele dah pra separar tb neh???

Compartilhar este post


Link para o post
Compartilhar em outros sites

Ja tentei usar sim, mas e o seguinte

com o DateDiff, você tem apenas uma comparacao com uma data ja determinada.

 

Nao sei se da para fazer com que no lugar da data determinada, coloque uma variavel que receba o valor da DATA_EXPIRACAO

 

No caso, se eu coloco

 

DiffADate = "A partir de hoje : " & DateDiff("d", Now, "01-04-2005")

 

ele me retornara - > 1

 

SEra que tem como eu fazer uma comparacao com esse valor?!?!?

 

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

Compartilhar este post


Link para o post
Compartilhar em outros sites

Tipo será mque naum dah pra colocar esse valor numa variavel e dai você utiliza ela pra faze a comparação quando chega num valor igual a 0 (zero) ou menor de 0 ele naum apareça mais a noticia

Compartilhar este post


Link para o post
Compartilhar em outros sites

Nao cara!!

 

Eu nao estou conseguindo colocar a data dentro das variaveis

[dd]

[mm]

[aa]

 

 

acho que seu eu consegi fazer isso, resolvo meu problema!!!

 

os dados ficam com a seguinte disposicao = 01/03/2005

TIPO DE CAMPO = DATA/HORA

BD = MSACCESS

 

 

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

<{POST_SNAPBACK}>

Vamos ver..

 

sobre o seu primeiro sql.. eu tava olhando.. nao sei se tem a ver.. mas você tinha feito o contrario, hehe

quer ver?

<%

SELECT * FROM ULTIMAS_NOTICIAS WHERE ( ( UN_DATA <= DATE() ) AND  ( UN_VALIDADE_DIAS <= DATE() )  )

%>

sobre o datediff..

 

pra nós tentar montar alguma coisa, vamos tentar entender

 

você tem quais campos e qual deles faz o que?

 

Por exemplo..

 

você tem o campo Un_data. O que esse campo guarda?

e o campo Un_Validade_Dias. esse guarda o que?

 

tipo.. qual é a condição verdadeira.. traduz o sql ae..

 

a duvida parece ser tao simples.. mas ficou tao confuso com seu banco de dados..

Compartilhar este post


Link para o post
Compartilhar em outros sites

Seguinte:

 

UN_DATA - > Guarda a data de cadastro da noticia

UN_VALIDADE_DIAS - > Guarda a data de validade

 

o lance e pegar a data e colocar nas variaveis

 

dd

mm

aa

 

UN_DATA - > 01/04/2005

 

dd=01

mm=04

aa=2005

 

UN_VALIDADE_DIAS - > 05/04/2005

 

dd1=05

mm1=04

aa1=2005

 

com isso posso fazer uma comparacao com as variaveis

tipo:

 

ASP

[*]

[*]<%

[*]if dd < dd1 then

[*] response.write ("")

[*]end if

[*]%>

[*]

 

tipo assim, entendeu....

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.