Ir para conteúdo

POWERED BY:

Arquivado

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

aprendizes

[Resolvido] Colorir notícias de acordo com a categoria

Recommended Posts

Gente, eu preciso colorir cada artigo publicado em minha home de acordo com sua categoria. Ou seja se for: Entretenimento será vermelho, se notícias geral será azul e se esporte verde, mas eu preciso deixar isso automático tipow eu posto uma matéria de esporte automaticamente ela aparece verde lá na pagina inicial. Entenderam, alguem pode ajudar? Eu tinha feito uma pergunta parecida no forum de css, mas acho que não deixei tudo expicadinho como agora.

 

Eu tentei fazer assim:

<style type="'text/css'">  
div.notic {  
color: red;  
}  
div.entre {  
color: blue;  
}  
div.esport {  
color: green;  
}  
</style><div class="entre", "notic", "esport"> 
                                 <%=Rs("Noticia")%> 
                               </div> 

mais não deu certo.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Cara, você resolve com asp se você souber como retornar o nome da categoria.

 

<%

if RS("categoria") = "esportes" then classenoticia = "sport"

elseif rs("categoria") = entretenimento" then classenoticia = "entre"

elseif rs("categoria") = "noticias" then classenoticia = "notic"

%>

 

<div class="<%=classenoticia%>"><%=RS("noticia")%></div>

Compartilhar este post


Link para o post
Compartilhar em outros sites

eu fis algumas alterações e ficou assim:

<%
Response.Write classe = "esporte" then classea = "esporte"
Response.Write classe = "entretenimento" then classe = "entre"
Response.Write classe = "noticias" then classe = "notic"
%>

<div class="<%=classe%>"><%Response.Write noticia%></div>

porém deu o erro: Script error detected at line 62.

Source line: Response.Write classe = "esporte" then classea = "esporte"

Description: Fim da instrução esperado

Compartilhar este post


Link para o post
Compartilhar em outros sites

coloquei o if novamente, mas continua com erro:

<%
if Response.Write ("classe") = "esporte" then classenoticia = "esporte"
elseif Response.Write("classe") = geral" then classenoticia = "geral"
elseif Response.Write("classe") = "ambiente" then classenoticia = "ambiente"
%>

<div class="<%=classenoticia%>"><%=RS("topico")%></div>

 

erro:

Script error detected at line 63.

Source line: elseif Response.Write("classe") = geral" then classenoticia = "geral"

Description: 'Then' esperado

Compartilhar este post


Link para o post
Compartilhar em outros sites

o negocio está armazenado num Response.Write ?

 

:wacko:

Compartilhar este post


Link para o post
Compartilhar em outros sites

olha ai:

<table width="57%" border="0">
 <tr> 
   <td height="70"> 
     <%
           Set nt1 = Server.CreateObject("ADODB.Recordset")
		nt1.Open "SELECT * from noticias order by id desc", DB
		Contar = 1
		Do while not nt1.Eof
			Topico = nt1("Topico")
			Classe = nt1("Classe")
			Hora = nt1("Hora")
			id = nt1("id")
			Foto = nt1("Foto")
			IF Contar > 2 Then
				exit do
			end if
               if Classe1 = "Destaque5" Then
			%></span></font></span></span></span></span></span></font>
     <table width="24%" height="120" border="0" align="left" cellpadding="0" cellspacing="0">
       <tr> 
         <td width="93%" height="120" valign="top"> <p> 
             <%If foto<>"" then%>
             <img src="admin/<%=nt1("foto")%>" alt="<%=nt1("Topico")%>" width="163" height="84" border="0"> 
             <%End If%>
             <%Response.Write Topico%>


</td>
         <td width="7%" valign="top"> </td>
       </tr>
     </table>
     <%
				Contar = Contar + 1
			end if
			nt1.Movenext
		Loop
					%>
   </td>
 </tr>
 <tr> 
   <td height="23" align="left">  </td>
 </tr>
</table>

Compartilhar este post


Link para o post
Compartilhar em outros sites

então

 

response.write não armazena nada

 

apenas ordena a escrita

 

ali esta armazenando em uma variável normal

Compartilhar este post


Link para o post
Compartilhar em outros sites

if Classe=1 then cor="#666666" end if

if Classe=2 then cor="#817374" end if

if Classe=3 then cor="#273641" end if

e assim por diante entendeu?

 

O mais certo é setar a cor no cadastro da categoria. Assim quando você quiser mudar a cor não precisa alterar nada no código.

Compartilhar este post


Link para o post
Compartilhar em outros sites

agora chegou a aparecer, porém não tem o controle de quantidade de artigos por pagina e não aparece cor diferente...

 

if Classe=1 then cor="#666666" end if

if Classe=2 then cor="#817374" end if

if Classe=3 then cor="#273641" end if

e assim por diante entendeu?

 

O mais certo é setar a cor no cadastro da categoria. Assim quando você quiser mudar a cor não precisa alterar nada no código.

pra falar a verdade não consegui entender

Compartilhar este post


Link para o post
Compartilhar em outros sites

usa uma paginação

Compartilhar este post


Link para o post
Compartilhar em outros sites

Gente, eu preciso colorir cada artigo publicado em minha home de acordo com sua categoria. Ou seja se for: Entretenimento será vermelho, se notícias geral será azul e se esporte verde, mas eu preciso deixar isso automático tipow eu posto uma matéria de esporte automaticamente ela aparece verde lá na pagina inicial. Entenderam, alguem pode ajudar? Eu tinha feito uma pergunta parecida no forum de css, mas acho que não deixei tudo expicadinho como agora.

 

Pode usar css ou deixar a cor direto no código, se prefere em css, primeiro tens que criar um css com os estilos que deseja utilizar, pode ser um arquivo a parte (algumacoisa.css) ou no proprio codigo <style ...> </style>

 

Como vai estar numa tabela, só precisa definir o background do tr <tr bgcolor='alguma_cor'> ficaria assim:

...
while not rs.eof
if rs("categoria") = "entretenimento" then
response.write "<tr bgcolor='red'>"
end if
if rs("categoria") = "noticias" then
response.write "<tr bgcolor='blue'>"
end if
if rs("categoria") = "esportes then
response.write "<tr bgcolor='green'>" 
end if
response.write "<td> resto do codigo..."

Compartilhar este post


Link para o post
Compartilhar em outros sites

pois é, eu pensei em colocar a cor direto no código, mas não é bem o que quero. Do jeito acima tbm ñ consegui. Não teria uma possibilidade de fazer isso diretamete no admin? Exemplo, vou postar uma matéria sobre esporte na primeira coluna. Colocaria a cor verde, daqui uns minutos vou colocar outra matéria na mesma coluna daí jaé entretenimento, então ficaria com a cor laranja, mas isso sendo automático tipow só selecionar um radio botão para cada cor.

Compartilhar este post


Link para o post
Compartilhar em outros sites

você pode ter um campo em seu bd, com a cor referente a cada categoria e poderia usar direto na SQL, mas um dos métodos mais simples seria usar o if, como mencionado acima.

Compartilhar este post


Link para o post
Compartilhar em outros sites

qual o número do erro ?

Compartilhar este post


Link para o post
Compartilhar em outros sites

O erro esta aqui

 

if rs("classe") = "esportes then

 

o correto é assim

 

if rs("classe") = "esportes" then

 

Repare que esta faltando uma " pra finalizar arrume que dará certo.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Eu fiz deste jeito, e o erro continua:

<%
while not rs.eof 
if rs("classe") = "entretenimento" then 
response.write "<tr bgcolor='red'>" 
end if 
if rs("classe") = "geral" then 
response.write "<tr bgcolor='blue'>" 
end if 
if rs("classe") = "esporte" then 
response.write "<tr bgcolor='green'>"  
end if 
<%Response.Write Topico%>

O erro:

Script error detected at line 578.

Source line: <%Response.Write Topico

Description: Instrução esperada

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.