Ir para conteúdo
Fórum Script Brasil
  • 0

Cores Alternadas


Naty_Za

Pergunta

Pessoal, tenho um sisteminha de noticias...

aqui ele exibe a data e o titulo de todas as noticias do banco..

<?
$consulta = mysql_query("SELECT * FROM noticias ORDER BY id DESC") or die (mysql_error());
while($verifica = mysql_fetch_array($consulta)){ 
$id = $verifica["id"];
$data = $verifica["data"];
$titulo = $verifica["titulo"];
$noticia = $verifica["noticia"];
$fonte = $verifica["fonte"];

echo"<font face=Verdana, Arial, Helvetica, sans-serif><font size=1>$data - 
<a href=\"noticias_action.php?id=$id\"><b>$titulo</b></a><br></font>
<hr>";
}
?>

eu queria saber, como fazer pra que as noticias fossem mostradas em linhas com cores alternadas..

ex:

1ª linha azul,

2ª linha branca

3ª linha azul

4ª linha branca

e por aí vai...

já vi algumas explicações a esse respeito, mas não consegui implantar no meu código!!

Me ajudem, pls!!

Valeewww

Link para o comentário
Compartilhar em outros sites

7 respostass a esta questão

Posts Recomendados

  • 0

pra começar você precisaria usar um FOR ao invés desse WHILE, porque tu precisa sabe em que linha ele estah... ficaria algo assim

$consulta = mysql_query("SELECT * FROM noticias ORDER BY id DESC") or die (mysql_error());
$n = mysql_numrows($consulta);
for($i=0; $i < $n; $i++) {
/*aqui vai a escolha da cor */
if ( ($i % 2) == 0 ) //se for linha par... tipo linha 0, 2, 4, 6, etc
  $bg = "#FFFFFF"; //branco
else
  $bg = "#00BFFF"; //azul claro

$id = $verifica["id"];
$data = $verifica["data"];
$titulo = $verifica["titulo"];
$noticia = $verifica["noticia"];
$fonte = $verifica["fonte"];

echo"<td bgcolor=\"$bg\"><font face=Verdana, Arial, Helvetica, sans-serif><font size=1>$data -
<a href=\"noticias_action.php?id=$id\"><b>$titulo</b></a><br></font></td>
<hr>";
}

bom coloquei o <td> porque não lembro se o <a> possui a propriedade bgcolor... é que só uso CSS, então me desculpe...

mas a logica é essa...

abraço

Link para o comentário
Compartilhar em outros sites

  • 0

Ou para simplificar o código... antes do laço coloca $zebra=0;

No início do laço coloca:

$cor = ($zebra % 2 == 0) ? '#FFFFFF"' : '#00BFFF';

No fim do laço coloca $zebra++;

ai você usa $cor para definir a cor que você quiser...

Link para o comentário
Compartilhar em outros sites

  • 0

oi pessoal.. valeu pela ajuda de vocês!!!!!!!!!!!!!!!!!!!

eu fiz como o ESerra disse e deu certo.. meu código ficou assim então:

<?
$consulta = mysql_query("SELECT * FROM noticias ORDER BY id DESC") or die (mysql_error());

$zebra=0;
while($verifica = mysql_fetch_array($consulta)){ 
$cor = ($zebra % 2 == 0) ? '#FFFFFF"' : '#00BFFF';
$id = $verifica["id"];
$data = $verifica["data"];
$titulo = $verifica["titulo"];
$noticia = $verifica["noticia"];
$fonte = $verifica["fonte"];
$zebra++;

echo"<td bgcolor=\"$cor\">
<font face=Verdana, Arial, Helvetica, sans-serif><font size=1>$data - 
<a href=\"noticias_action.php?id=$id\"><b>$titulo</b></a><br></font>
<hr>";
}
?>

só que o problema é que está uma linha do lado da outra... e eu gostaria que ficasse na vertical, uma embaixo da outra...

como posso fazer???????????

valeu!!!!!!!!!!!!!!! :-)

Editado por Naty_Za
Link para o comentário
Compartilhar em outros sites

  • 0

é por causa do <td> ... acho que vai ter que usar table... ou a tag style no <a>

com a tag style ficaria na linha do echo...

echo"<font face=Verdana, Arial, Helvetica, sans-serif><font size=1>$data -
<a style=\"background-color:$cor; padding: 2 2;\" href=\"noticias_action.php?id=$id\"><b>$titulo</b></a><br></font>
<hr>";

mas eu sinceramente recomendo usar table... usando style você também vai precisar do padding ... table deveria ser usado em casos como esse, na minha opinião...

Link para o comentário
Compartilhar em outros sites

  • 0

Ou, para seguir seu próprio código:

<?
$consulta = mysql_query("SELECT * FROM noticias ORDER BY id DESC") or die (mysql_error());

$zebra=0;
while($verifica = mysql_fetch_array($consulta)){
$cor = ($zebra % 2 == 0) ? '#FFFFFF"' : '#00BFFF';
$id = $verifica["id"];
$data = $verifica["data"];
$titulo = $verifica["titulo"];
$noticia = $verifica["noticia"];
$fonte = $verifica["fonte"];
$zebra++;

echo"<tr><td bgcolor=\"$cor\">
<font face=Verdana, Arial, Helvetica, sans-serif><font size=1>$data -
<a href=\"noticias_action.php?id=$id\"><b>$titulo</b></a><br></font>
<hr></td></tr>";
}
?>

Perceba que eu abrí um TR antes do TD.

Ele deve estar sendo aberto antes do laço, então você precisará retirá-lo.

Perceba também que não possui </td> e </tr> em seu echo, então eu os coloquei, e sendo assim, você precisará retirá-los também de onde eles estão. (Devem estar logo após o laço)

Link para o comentário
Compartilhar em outros sites

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152k
    • Posts
      651,7k
×
×
  • Criar Novo...