Ir para conteúdo

POWERED BY:

Arquivado

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

Didiron

[Resolvido] Como aparecer a palvra NOVO, após inserir um novo dad

Recommended Posts

Boa noite, pessoal, sei que está virando rotina eu perguntar aqui, mas é que me surgiu mais uma dúvida.

Eu tenho uma página onde mostra todos os meus registros que eu possuo no meu banco de dados,essa página tem uma tabela mostrando todos os dados e ainda um campo chamado Atributos, eu gostaria que nesse campo, após eu inserir um novo registro no banco de dados, ele aparecesse a palavra "Novo" dentro do campo Atributos, e após eu clicar na mensagem, ele me mostre ela inteira, e quando eu voltar para essa página ela me mostre ese mesmo registro só que agora sem a palavra Novo, pois eu já conferi o que ela tinha para me mostrar, deu para entender?

Vou mostrar o código dessa minha página.

Desde já agradeço a todo mundo.

Abração.

P.s: Pesso desculpas por ter mostrado o código assim, só que aqui a opção Code do fóum não está funcionando, como nenhuma outra.

 

 

 

<%@LANGUAGE="VBSCRIPT"%>

<% set conexao = server.CreateObject("adodb.connection")

conexao.open "driver={microsoft access driver (*.mdb)}; dbq="& server.MapPath("banco.mdb") %>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html xmlns="http://www.w3.org/1999/xhtml">

<head>

<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />

<link href="../estilos.css" type="text/css" rel="stylesheet" />

<title>Untitled Document</title>

<style type="text/css">

<!--

.style4 {

color: #FFFFFF;

font-size: 14px;

font-family: Verdana, Arial, Helvetica, sans-serif;

}

.style5 {

font-size: 14px;

font-family: Verdana, Arial, Helvetica, sans-serif;

color: #990000;

}

.style6 {font-size: 14px}

-->

</style>

</head>

 

<body>

<% set listar = Server.CreateObject("ADODB.Recordset")

listar.open "SELECT * FROM Contato order by codigo desc",conexao

%>

<h3>Entraram em contato conosco:</h3>

<br />

 

<table width="760" border="1" align="left" cellpadding="0" cellspacing="0" bordercolor="#CCCCCC">

<tr>

<td width="8%" height="18" background="../imgs/gradientcontato.jpg"><div align="center"><span class="style4">Código</span></div></td>

<td width="25%" background="../imgs/gradientcontato.jpg"><div align="center"><span class="style4">Nome</span></div></td>

<td width="53%" background="../imgs/gradientcontato.jpg"><div align="center"><span class="style4">Assunto</span></div></td>

<td width="14%" background="../imgs/gradientcontato.jpg"><div align="center"><span class="style4">Atributo</span></div></td>

</tr>

<%while not listar.eof%>

<tr>

<td height="18"><div align="center" class="style6">

<%=listar("codigo")%>

</div></td>

<td><div align="center" class="style6">

<%=listar("Nome")%>

</div></td>

<td><div align="center">

<a href="viewcontato.asp?codigo=<%=listar("codigo")%>"><%=listar("Assunto")%></a>

</div></td>

<td></td>

</tr>

<%listar.movenext

wend

%>

</table>

 

<p> </p>

 

</body>

</html>

Compartilhar este post


Link para o post
Compartilhar em outros sites

Olá Didiron, cara pelo que entendi você armazena as msg em Banco de dados certo? Se sim eu colocaria um campo no BD de status, este campo faria o seguinte.

 

monta o campo como Int(1), onde 0 seria não foi visualizado e 1 foi visualizado

 

- Entrou novo registro ele fica default como Não Visualizado (0), e mostra a palavra ao lado NOVO toda vez que o select do banco verificar que o campo status esta como (0).

- Ao clicar para visualizar a msg manda uma rotina sql que vai dar um update no campo modificando ele para (1) visualizado

Compartilhar este post


Link para o post
Compartilhar em outros sites

Kania, muito obrigado pela explicação, só que eu tenho uma outra pergunta, no fim voce diz a seguinte frase:

 

"- Ao clicar para visualizar a msg manda uma rotina sql que vai dar um update no campo modificando ele para (1) visualizado".

 

Eu entendi muito bem, só que o problema é que eu não sei fazer rotinas de clicks com asp, se é que voce me entende, eu nao sei o código que faz com que eu clicue em um determinado link e ele faça o determinado comando.

Conseguiria ma ajudar quanto a isso?

Abração

Compartilhar este post


Link para o post
Compartilhar em outros sites

Claro que ajudo, veja um pequena idéía.

Imaginemos que você no seu banco de dados a coluna que representa o status da mensagem com o nome de "status_msg"

 

Sendo assim a primeira coisa a fazer é listar os registros dentro da tabela que tem as mensagens, para isto vamos usar um comando Sql de Seleção

 

Eu faço aolgo assim

 

Set RS = Server.CreateObject("adodb.recordset")
SQL = "select * from mensagens Order by DataCadastro, status_msg, desc "
RS.Open SQL,Conn,3,3

Onde DataCadastro é a data em que a mensagem foi cadastrada dentro do seu banco

 

Bom aqui foi listado todas as mensagens para você e ordenada pela data

 

Nesta lista você vai colocar um link para que seja aberta a mensagem em outra janela ou até na mesma, uma dica aqui é derrepente você utilizar uma rotina em Ajax para que a mensagem seja aberta abaixo, logo após o link, com um efeito de expandir, clica abre, clica novamente fecha.

 

Bom a forma que vai ser feito não importa o que vai importar nesta nova etapa é o comando de atualização da lista, ao clicar no link vai abrir a mensagem, no inicio da pagina da mensagem você vai colocar um código mais ou menos assim:

 

'AQUI CRIO UMA VARIÁVEL QUE VAI RECEBER O ID DA MENSAGEM CLICADA
IdMsg = Request.QueryString("IdMsg")

Set Rs = server.createobject("adodb.connection")
Rs.open = conn
RS.Execute "Update mensagens set status_msg = "1" where IdMensagem = '"&IdMsg&"'"
Set rs = Nothing

Note que ao colocar este código no inicio da pagina que vai abrir a mensagem por completo, a primeira coisa que vai acontecer é ela modificar o status da mensagem para 1, estava 0 ela modificou para 1, que significa que já foi visualizado.

 

No código que lista as mensagens você deve fazer um If para que ele verifique se a mensagem já foi lida ou não, ai você pode incrementar com um código em CSS formatando as mensagens que estiverem sem ler para aparecerem em negrito por exemplo, ou com cor diferente, e outra formatação para quando ela já foi lida, deixando ela sem negrito e com cor preta por exemplo, a personalização você pode brincar a vontade.

 

veja como pode ser feito o IF

If Rs(status_msg)= "0" then
TipoMsg = "font:bold 12px Verdana, Geneva, sans-serif; color:#F00;"
else
TipoMsg = "font:12px Verdana, Geneva, sans-serif; color:#000;" 
End If

Neste caso ai é só você na hora chamar a variável TipoMsg no lugar que vai o estilo e pronto, um exemplo seria;

<div style="TipoMsg"><a href="sua_pagina.asp?IdMsg=<%=IdMsg%>" target="_blank">Aqui temos a mensagem</a></div>

Qualquer dúvida posta ai

Compartilhar este post


Link para o post
Compartilhar em outros sites

Olá Kania, eu fiz a minha página do jeito que voce falou, só que alguma coisa não deu certo, eu não consigo ver qual o erro pois estou utilizando include, mas na p´gin não esta aparecendo nada.

veja meu código:

 

<code><%@LANGUAGE="VBSCRIPT"%>

<% set conexao = server.CreateObject("adodb.connection")

conexao.open "driver={microsoft access driver (*.mdb)}; dbq="& server.MapPath("banco.mdb") %>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html xmlns="http://www.w3.org/1999/xhtml">

<head>

<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />

<link href="../estilos.css" type="text/css" rel="stylesheet" />

<title>Untitled Document</title>

<style type="text/css">

<!--

.style4 {

color: #FFFFFF;

font-size: 14px;

font-family: Verdana, Arial, Helvetica, sans-serif;

}

.style5 {

font-size: 14px;

font-family: Verdana, Arial, Helvetica, sans-serif;

color: #990000;

}

.style6 {font-size: 14px}

-->

</style>

</head>

 

<body>

<% set listar = Server.CreateObject("ADODB.Recordset")

listar.open "SELECT * FROM Contato order by codigo, status_msg, desc",conexao

 

%>

 

<%

If listar(status_msg)= "0" then

TipoMsg = "font:bold 12px Verdana, Geneva, sans-serif; color:#F00;"

else

TipoMsg = "font:12px Verdana, Geneva, sans-serif; color:#000;"

End If

%>

 

<h3>Entraram em contato conosco:</h3>

<br />

 

<table width="760" border="1" align="left" cellpadding="0" cellspacing="0" bordercolor="#CCCCCC">

<tr>

<td width="8%" height="18" background="../imgs/gradientcontato.jpg"><div align="center"><span class="style4">Código</span></div></td>

<td width="25%" background="../imgs/gradientcontato.jpg"><div align="center"><span class="style4">Nome</span></div></td>

<td width="53%" background="../imgs/gradientcontato.jpg"><div align="center"><span class="style4">Assunto</span></div></td>

 

<%while not listar.eof%>

<tr>

<td height="18"><div align="center" class="style6">

<%=listar("codigo")%>

</div></td>

<td><div align="center" class="style6">

<%=listar("Nome")%>

</div></td>

<td><div align="center">

<div style="TipoMsg"> <a href="viewcontato.asp?codigo=<%=listar("codigo")%>"><%=listar("Assunto")%></a></div>

</div></td>

 

</tr>

<%listar.movenext

wend

%>

</table>

 

<p> </p>

 

</body>

</html></code>

Compartilhar este post


Link para o post
Compartilhar em outros sites

Fera achei um erro, não testei, mas veja o código ai se vai funcionar, na linha onde vai aparecer a mensagem estava assim

 

<div style="TipoMsg">

Bom efetuei 2 modificações uma que coloquei o estilo direto na tr para que ele personalize a linha toda e não somente o campo, segundo que você esqueceu de que a personalização é uma variável, tem que estar dentro da tag asp <%=TipoMsg%> e aproveitei para retirar as tags <code> veja se funfa agora

 

<%@LANGUAGE="VBSCRIPT"%>
<% set conexao = server.CreateObject("adodb.connection")
conexao.open "driver={microsoft access driver (*.mdb)}; dbq="& server.MapPath("banco.mdb") %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<link href="../estilos.css" type="text/css" rel="stylesheet" />
<title>Untitled Document</title>
<style type="text/css">
<!--
.style4 {
color: #FFFFFF;
font-size: 14px;
font-family: Verdana, Arial, Helvetica, sans-serif;
}
.style5 {
font-size: 14px;
font-family: Verdana, Arial, Helvetica, sans-serif;
color: #990000;
}
.style6 {font-size: 14px}
-->
</style>
</head>

<body>
<% set listar = Server.CreateObject("ADODB.Recordset") 
listar.open "SELECT * FROM Contato order by codigo, status_msg, desc",conexao

%>

<% 
If listar(status_msg)= "0" then 
TipoMsg = "font:bold 12px Verdana, Geneva, sans-serif; color:#F00;"
else
TipoMsg = "font:12px Verdana, Geneva, sans-serif; color:#000;" 
End If
%>

<h3>Entraram em contato conosco:</h3>
<br />

<table width="760" border="1" align="left" cellpadding="0" cellspacing="0" bordercolor="#CCCCCC">
<tr>
<td width="8%" height="18" background="../imgs/gradientcontato.jpg"><div align="center"><span class="style4">Código</span></div></td>
<td width="25%" background="../imgs/gradientcontato.jpg"><div align="center"><span class="style4">Nome</span></div></td>
<td width="53%" background="../imgs/gradientcontato.jpg"><div align="center"><span class="style4">Assunto</span></div></td>

<%while not listar.eof%>
<tr style="<%=TipoMsg%>">
<td height="18"><div align="center" class="style6">
<%=listar("codigo")%>
</div></td>
<td><div align="center" class="style6">
<%=listar("Nome")%>
</div></td>
<td><div align="center">
<div > <a href="viewcontato.asp?codigo=<%=listar("codigo")%>"><%=listar("Assunto")%></a></div>
</div></td>

</tr>
<%listar.movenext
wend
%>
</table>

<p> </p>

</body>
</html>


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.