Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
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;
}color: blue;
}color: green;
}
</style><div class="entre", "notic", "esport">
<%=Rs("Noticia")%>
</div>
mais não deu certo.
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
Cade o if ?
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
o negocio está armazenado num Response.Write ?
:wacko:
sim.
como?
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>então
response.write não armazena nada
apenas ordena a escrita
ali esta armazenando em uma variável normal
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.
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
usa uma paginação
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..."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.
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.
O erro continua:
Script error detected at line 370.
Source line: if rs("classe") = "esportes then
Description: Constante de seqüência não finalizada
qual o número do erro ?
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.
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
O erro acontece pois o code esta cheio de erros, simples.
Troque o code errado acima por este
<%
while not rs.eof
classe = rs("classe")
If classe = "entretenimento" Then
response.write "<tr bgcolor='red'>"
ElseIf classe = "geral" Then
response.write "<tr bgcolor='blue'>"
ElseIf classe = "esporte" Then
response.write "<tr bgcolor='green'>"
End If
Response.Write Topico
%>
Dica: De uma estudada no ASP, leia tutoriais, pesquise, revise, organize seu código, os erros são muitos simples para serem cometidos, se tu ta tendo erro nisso imagine quando precisar fazer algo médio.
Resolvido, criei uma tabela chamada _categoria e coloquei da seguinte forma:
<font color="<%Response.Write categoria%>"><%Response.Write topico%></font>
e esta OK. 0cool, testei seu code e tbm funcionou perfeitamente. Obrigado, vou arrumar umas apostilas pra mim estudar mesmo, estou precisando, realmente são coisas simples. ValeuEsse código acima você poderia melhora-lo fazendo da seguinte forma
<%
Response.Write "<font color="""&categoria&""">"&topico&"</font>"
%>
Esse foi apenas um exemplo com tentativa para melhorar a performance do seu sistema, porém tem que ser aplicado mais ou menos desta forma em toda a parte do sistema em que for necessário, caso contrário não fará muita diferença, bem aplica pode gerar melhoras na execução do seu code o que pode aumentar a performance é claro... se o code for bem formatado.
Ok, vou dar uma olhada pra ver como fica. Valeu
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>