Ir para conteúdo

POWERED BY:

Arquivado

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

Penna

To com problema na minha lógica.

Recommended Posts

To fazendo um fórum pra mim, e to colocando esse esquema de falar que tem novas mensagens. Resolvi o problema com datediff. Ele funciona na boa. Só que depois que o cara ler a mensagem como eu faço para marcar ela como lida? Pensei em fazer outro cookie e atualizar a data pegar o segundo e mudar para + 1. Só que se existir outro tópico assim vai ficar feio.

 

Outra coisa.

 

To fazendo tb esse esquema de tópico quente, novoquente, velhoquente, anuncio, fixo. Só que ele só ta me retornando anuncio. Ai vai o code:

 

 

Function st()SQLImgCount = "SELECT COUNT(*) AS imgcount FROM Topicos WHERE Tipo = 'RT' AND IdRes = "&IdMsg2&""	Set RsImgCount = cnforum.Execute(SQLImgCount)ImgCount = RsImgCount("imgcount")T = "20"If ImgCount > T Then	If Status2 = "Ativo" OR Status = "" Then  img = "fixoquente.gif"	ElseIf Status2 = "Anuncio" Then  img = "anuncioquente.gif"	ElseIf Status2 = "Fixo" Then  img = "quente.gif"	End IfElse	If Status2 = "Ativo" OR Status = "" Then  img = "fixo.gif"	ElseIf Status2 = "Anuncio" Then  img = "anuncio.gif"	ElseIf Status2 = "Fixo" Then  img = ".gif"	End IfEnd Ifimg = imgData = DateDiff("d", Session("Data"), Now())If Data > "0" Then	statusmsg = "novo" & imgElseIf Data = "0" Then	Minutos = DateDiff("n", Session("Data"), Now())	If Minutos > "0" Then  statusmsg = "novo" & img	Else	Segundos = DateDiff("s", Session("Data"), Now())  If Segundos > "0" Then 	 statusmsg = "novo" & img  Else 	 statusmsg = "velho" & img  End If	End IfEnd IfEnd IfResponse.Write statusmsgEnd Function

 

Quem me ajudar ganha um beijo.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Vejamos se isso vai te ajudar:

"20" não é igual a 20, você não pode conparar uma String com um numero!

 

 

Dispenso o beijo!

Sou casado e muito bem casado!

Compartilhar este post


Link para o post
Compartilhar em outros sites

Cara, na questão da msg lida, coloca um campo do tipo True/False ou algo do tipo, ai qdo a pessoa ler, você deixa como True...entendeu?e na questão do anuncio, eu acho melhor você verificar pelo nº de respostas em um determinado tópico..if NResp <= 5 then........normalelseif NResp <= 15 then..........quente...e assim vai....ok? falows

Compartilhar este post


Link para o post
Compartilhar em outros sites

Vejamos se isso vai te ajudar:"20" não é igual a 20, você não pode conparar uma String com um numero!Dispenso o beijo!Sou casado e muito bem casado!

Eu não sou Casado mas tbm dispensaria o beijo... argh!Eu aconselho a você atualizar o banco Alex.. como disse o rOcKLoCo com true/false

Compartilhar este post


Link para o post
Compartilhar em outros sites

Para o caso das mensagens lidas, gravar em cookie, ou em um array em session os IDS delas, para o caso das novas comparar com a data do ultimo acesso do usuário!

Compartilhar este post


Link para o post
Compartilhar em outros sites

Tabom... Não vou dar beijinho..

 

 

Salgado - Você esta se referindo a essa linha certo: If ImgCount > T Then ? Ai ele fala que se o numero de respostas do banco for maior que 20 (ou vinte) ele vai mostrar como quente, se não mostra como normal. Até ai não tive problemas. O problema é que ele não ta mostrando a figura certa.

 

Douglas e Carlos - Esse negócio de true ou false só imagina, ter que fazer isso um pra cada mensagem, ou um pra cada usuário.

 

 

 

Abraços...

Alex...

Compartilhar este post


Link para o post
Compartilhar em outros sites
ImgCount = RsImgCount("imgcount")
T = 20

If ImgCount > T Then
If Status2 = "Ativo" OR Status = "" Then
 img = "quente.gif"
Else
 img = Status2 &"quente.gif"
End If
Else
If Status2 = "Ativo" OR Status = "" Then
 img = "ativo.gif"
Else
 img = Status2 &".gif"
End If
End If

Compartilhar este post


Link para o post
Compartilhar em outros sites

Esse negócio que o salgado falou, em sessions ou em arrays, é uma boa...Vou fazer um joguinho de if.. Onde exibo a imagem... Se já foi vista grava na session... Só que se tiver uma nova resposta? Já vai estar como velho... O que eu faço??

Compartilhar este post


Link para o post
Compartilhar em outros sites

Tabom... Não vou dar beijinho..

 

 

Salgado - Você esta se referindo a essa linha certo: If ImgCount > T Then ? Ai ele fala que se o numero de respostas do banco for maior que 20 (ou vinte) ele vai mostrar como quente, se não mostra como normal. Até ai não tive problemas. O problema é que ele não ta mostrando a figura certa.

 

Douglas e Carlos - Esse negócio de true ou false só imagina, ter que fazer isso um pra cada mensagem, ou um pra cada usuário.

 

 

 

Abraços...

Alex...

Ah verdade manow.. desculpa.. agora caiu minha ficha.. seria complicado mesmo..

 

Como disse o salgado, você poderia ir adicionando em uma array (numa session) chamada Array_Lidos() por exemplo..

 

Boa ideia salgado..

Compartilhar este post


Link para o post
Compartilhar em outros sites

Mas me surgiu uma idéia mais bonita ainda...Que tal se você criasse um scripting dictionary..Neste script você colocaria:ID do usuárioID do tópicopor ser apenas 2 colunas é melhor que usar array.. e bem mais facil manipular junto a session

Compartilhar este post


Link para o post
Compartilhar em outros sites

Que isso douglas... Muito obrigado....

 

E é o seguinte galera.. Eu consegui... Vejam só o erro:

 

 

If ImgCount > T Then

If Status = "Ativo" OR Status = "" Then

img = "fixoquente.gif"

ElseIf Status = "Anuncio" Then

img = "anuncioquente.gif"

ElseIf Status = "Fixo" Then

img = "quente.gif"

End If

Else

 

 

 

 

Fala sério né? Hehehehe... Muito opbrigado pela ajuda de todos. Vou postar la na área de códigos. Agora o negócio do lido ainda ta a duvida no ar.

Compartilhar este post


Link para o post
Compartilhar em outros sites
ImgCount = RsImgCount("imgcount")
T = 20

If ImgCount > T Then
If Status2 = "Ativo" OR Status = "" Then
img = "quente.gif"
Else
img = Status2 &"quente.gif"
End If
Else
If Status2 = "Ativo" OR Status = "" Then
img = "ativo.gif"
Else
img = Status2 &".gif"
End If
End If

Nesse código eu havia corrigido isso, e resumido seu código levando em consideração que na var Status2 estaria o inicio do nome do gif.

Compartilhar este post


Link para o post
Compartilhar em outros sites
Esse negócio que o salgado falou, em sessions ou em arrays, é uma boa...

 

 

Vou fazer um joguinho de if.. Onde exibo a imagem... Se já foi vista grava na session... Só que se tiver uma nova resposta? Já vai estar como velho... O que eu faço??

você verifica a data do último post, se for > que a última visualização do post você marca como não lido.

Acho que cabe o scripting dictionary, ou arrays de sessions (ê preguiça), com o ID da postagem e a hora de visualização, para fazer essa verificação!

Compartilhar este post


Link para o post
Compartilhar em outros sites

Fala fidido!!então doido, pq você teria q fazer isso para cada MSG??? e USER??q eu saiba você ia fazer assim

<%if Rs("Lido") = False then...........lidoelse..........não lidoend if%>

alguma coisa de difícil??falows

Compartilhar este post


Link para o post
Compartilhar em outros sites
Fala fidido!!

 

então doido, pq você teria q fazer isso para cada MSG??? e USER??

Pense no seguinte:

Eu entro aqui no fórum leio todas as mensagens, segundo sua lógica todos os posts estariam marcados como lidos certo?

E se você entrar depois disso? você verá alguma mensagem nova?

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.