Naty_Za Postado Agosto 14, 2007 Denunciar Share Postado Agosto 14, 2007 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 branca3ª linha azul4ª linha brancae por aí vai...já vi algumas explicações a esse respeito, mas não consegui implantar no meu código!!Me ajudem, pls!!Valeewww Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Eric Freitas Postado Agosto 14, 2007 Denunciar Share Postado Agosto 14, 2007 lembra daquele código que você deve ter aprendido pra ver se o número é par ou impar?Bom está ai um lugar onde ele poder ser usado, se contador = par cor=branco, se impar=azul..+D Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Dr. Gap Postado Agosto 14, 2007 Denunciar Share Postado Agosto 14, 2007 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 Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 ESerra Postado Agosto 14, 2007 Denunciar Share Postado Agosto 14, 2007 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... Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Naty_Za Postado Agosto 14, 2007 Autor Denunciar Share Postado Agosto 14, 2007 (editado) 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 Agosto 14, 2007 por Naty_Za Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Dr. Gap Postado Agosto 14, 2007 Denunciar Share Postado Agosto 14, 2007 é 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... Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 MLeandroJr! Postado Agosto 14, 2007 Denunciar Share Postado Agosto 14, 2007 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) Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Naty_Za Postado Agosto 16, 2007 Autor Denunciar Share Postado Agosto 16, 2007 Oi......... valeuuuuDeu certinhoooo..nossa, brigadão mesmo!!! ;) :P :D :lol: B) :rolleyes: Citar Link para o comentário Compartilhar em outros sites More sharing options...
Pergunta
Naty_Za
Pessoal, tenho um sisteminha de noticias...
aqui ele exibe a data e o titulo de todas as noticias do banco..
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
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.