Carcleo 4 Denunciar post Postado Julho 28, 2014 Se a variável $corLinha entrega seu valor corretamente em { $corLinha = ($contador % 2 == 0) ? "#FFF" : "#999999"; echo "<tr style=\"background:".$corLinha."\">"; echo " <td>".formataData2($datamatricula)."</td>"; echo " <td>".$nomealuno."</td>"; echo " <td>".$idade." anos</td>"; echo " <td>".$social."</td>"; echo "</tr>"; $contador++; } Porque então que as linhas não mudam de cor? Compartilhar este post Link para o post Compartilhar em outros sites
William Bruno 1501 Denunciar post Postado Julho 28, 2014 troque: echo "<tr style=\"background:".$corLinha."\">";por echo '<tr style="background:'.$corLinha.';">';Não funcionou da forma q você fez, pq o html q você estava gerando estava errado. Compartilhar este post Link para o post Compartilhar em outros sites
Electronic 124 Denunciar post Postado Julho 29, 2014 Ainda da pra remover esse monte de aspas a barras, deixando o codigo mais facli de ler echo "<tr style='background: $corLinha'>"; Mas o problema nao parece ser nessa linha, testei das 3 formas e funciou. Você abriu a tag <table>? Compartilhar este post Link para o post Compartilhar em outros sites
Carcleo 4 Denunciar post Postado Julho 29, 2014 Ambos os jeitos não muda a cor da linha echo '<tr style="background:\''.$corLinha.'\';">'; echo "<tr style='background: $corLinha'>"; Veja como sai o html da forma que fiz: <tr style="background:#FFF"> <td>20/12/1970</td> <td>Ailton José</td> <td>88 anos</td> <td>9</td>< </tr> Veja código completo: <?php $cursosStr = " SELECT idcurso, nomecurso, diasemana FROM cursos WHERE idcurso = ".$_POST["idcurso"]; $cursosQuery = $conexao->Query($cursosStr); if ($cursosQuery->num_rows == 0) { echo "Ainda não há cursos cadastrados!"; } else { list($idcurso, $nomecurso, $diasemana) = $cursosQuery->fetch_row(); { echo "Alunos inscritos na turma: ".$nomecurso."<br />Dia da Semana: ".$diasemana."<br />"; $alunosCursoString = " SELECT idaluno, datamatricula, social, nomealuno, idade FROM alunos WHERE idcurso = ".$_POST["idcurso"]." ORDER BY nomealuno, datamatricula"; $alunosCursoQuery = $conexao->Query($alunosCursoString); if ($alunosCursoQuery->num_rows == 0) { echo "Ainda não há alunos matriculados nessa turma!<br />"; } else { echo "<table align='center'>"; echo " <tr> <th style='width:100px'>Matricula</th> <th style='width:500px'>Nome aluno</th> <th style='width:50px'>Idade</th> <th style='width:150px'>Projeto Social</th> </tr> "; $contador = 0; while( list( $idaluno, $datamatricula, $social, $nomealuno, $idade ) = $alunosCursoQuery->fetch_row() ) { $corLinha = ($contador % 2 == 0) ? "#FFF" : "#999999"; //echo '<tr style="background:\''.$corLinha.'\';">'; //echo "<tr style='background: $corLinha'>"; echo "<tr style=\"background:".$corLinha."\">"; echo " <td>".formataData2($datamatricula)."</td>"; echo " <td>".$nomealuno."</td>"; echo " <td>".$idade." anos</td>"; echo " <td>".$social."</td>"; echo "</tr>"; $contador++; } echo "</table>"; } } } ?> Compartilhar este post Link para o post Compartilhar em outros sites
Gabriel Heming 766 Denunciar post Postado Julho 29, 2014 Em algum lugar você definiu o cor da TD? Pois se você a definiu, o background da TD tem precedência sobre a TR (só aparecerá a cor da TR se a cor da TD for transparente, o que é diferente de branco). Mas também, FFF é branco. Compartilhar este post Link para o post Compartilhar em outros sites
Carcleo 4 Denunciar post Postado Julho 29, 2014 Pior que não. Veja meu arquivo de stilo: @charset "utf-8"; /* CSS Document */ *{ background-color:#87ceed; } body{ background-color:#FFF; width:1000px; margin: 0px auto 0px auto; border: 1px solid #000; box-shadow: 2px 0px 50px #000,-2px 0px 50px #000; } input[type=button],[type=submit],[type=reset] { width:180px; height:50px; margin:2px auto; padding:4px; } input[type=text] { height:30px; margin:2px auto; padding:4px; background-color:#FFF; } fieldset{ text-align:left; } label{ display:inline-block; width: 150px; height:30px; } img{ border:0px; } a{ border-style:none; background-color:#FFF; } figure#imgLogoTopo{ text-align:center; background-color:#FFF; } nav#menu1, #menu2, #menu3, #menu4{ text-align:center; background-color:#FFF; } #conteudo{ margin-top:50px; text-align:center; background-color:#FFF; } .botoesForm { background-color:#FFF; } Compartilhar este post Link para o post Compartilhar em outros sites
CL4nG 36 Denunciar post Postado Julho 29, 2014 Se não testar com mais de um registro, nunca vai aplicar a cor #999999 e numa página branca não da pra diferenciar uma linha na cor branca (#FFF).Sobre "/', uma string entre " " é processada mais rápida do que uma entre ' '.E outra, em HTML utiliza-se " ". Sem problema algum:echo "<tr style=\"background:".$corLinha."\">"; Compartilhar este post Link para o post Compartilhar em outros sites
Carcleo 4 Denunciar post Postado Julho 29, 2014 Sim, tem vários registros. copiei a saída do codigo fonte e coloquei no Dreaweaver e fui no abiente visual e tabela esta com cores nos registros impares Compartilhar este post Link para o post Compartilhar em outros sites
Gabriel Heming 766 Denunciar post Postado Julho 29, 2014 Isso aqui: *{ background-color:#87ceed; } Significa que todos os elementos do DOM terão esse background, inclusive o TD. Compartilhar este post Link para o post Compartilhar em outros sites
Carcleo 4 Denunciar post Postado Julho 29, 2014 De fato, comentei essa linha e deu certo. Mas preciso dessa cor de fundo no sistema. O que fazer? Compartilhar este post Link para o post Compartilhar em outros sites
Gabriel Heming 766 Denunciar post Postado Julho 29, 2014 teoricamente, você deveria ter que especificar quais elementos precisam dessa cor, mas por facilidade, acredito que possa fazer dessa forma: * { background-color: #87ceed; } td { background-color: transparent; } Deve resolver seu problema. Caso não funcionar da maneira acima, utilize !important:td { background-color: transparent!important; }As vezes, o asterísco(*) tem precedência de outros tipos de elementos. Compartilhar este post Link para o post Compartilhar em outros sites
CL4nG 36 Denunciar post Postado Julho 29, 2014 *{ background-color:#87ceed; } Você selecionou uma cor de fundo para todos elementos da página mas não sobreescreveu a cor de fundo para a tabela, suas linhas e colunas. Já que está utilizando um arquivo CSS, então remova o atributo style da linha da tabela e adicione no final do seu arquivo CSS o seguinte código. td, table, tr{background: none} tr:nth-child(even) {background: #CCC} tr:nth-child(odd) {background: #FFF} Compartilhar este post Link para o post Compartilhar em outros sites
Carcleo 4 Denunciar post Postado Julho 29, 2014 Funcionou pessoal.Valeu, só que o cara viu o fundo branco e sisou de querer o branco mesmo. Antes ele não queria branco. Então foi só remover o cor de fundo do .* Mas ficou a experiencia! Compartilhar este post Link para o post Compartilhar em outros sites
Carcleo 4 Denunciar post Postado Julho 29, 2014 Dúvida: Porquê o código abaixo não funciona com <tr> mas funciona com td? td { background-color: transparent; } Compartilhar este post Link para o post Compartilhar em outros sites
CL4nG 36 Denunciar post Postado Julho 30, 2014 Funciona, mas só que td está sobre tr.Pense em tr e td como dois panos, tr de cor preta e td de cor branca. Daí você coloca td em cima de tr, sendo tr e td de mesma largura/altura qual cor irá aparecer?O mesmo vale para tr e table, tr está sobre table... Compartilhar este post Link para o post Compartilhar em outros sites