← Desenvolvimento

Cores diferentes em tabela (PHP & MYSQL)

Lida 8507 vezes

Offline

OFFICER 
Membro
Mensagens 2076 Gostos 0
Troféus totais: 29
Trófeus: (Ver todos)
Super Combination Combination Topic Starter 10 Poll Votes Poll Voter Poll Starter Level 5 Level 4 Level 3 Level 2

Boas! Se calhar já muita gente se questionou e até pretendeu fazer isto, mas nunca encontrou algum tutorial acerca disto!

E do que estou eu a falar?! Estou a falar que depois de fazer um query à SQL obter um resultado com cores diferentes na tabela, cores alternadas, ficando cores diferentes em cada resultado..isto numa pesquisa é bastante bom!

E o que venho eu pedir? Venho pedir que quem saiba fazer isto..diga ao pessoal uma solução prática! :D

E pronto..era só isto :)
Offline

asturmas 
Administrador
Mensagens 19734 Gostos 50
Feedback +2

Troféus totais: 39
Trófeus: (Ver todos)
Mobile User Windows User Super Combination Combination Topic Starter 100 Poll Votes 50 Poll Votes 10 Poll Votes Poll Voter Poll Starter

Nunca vi tal coisa  :roll:
Offline

OFFICER 
Membro
Mensagens 2076 Gostos 0
Troféus totais: 29
Trófeus: (Ver todos)
Super Combination Combination Topic Starter 10 Poll Votes Poll Voter Poll Starter Level 5 Level 4 Level 3 Level 2

LOOOOL então andas muito mal informado.. :)

A tabela fica com cores alternadas em cada <tr>

Ficando do género

<tr bgcolor="blue"><td></td></tr>
<tr bgcolor="white"><td></td></tr>
<tr bgcolor="blue"><td></td></tr>
<tr bgcolor="white"><td></td></tr>
<tr bgcolor="blue"><td></td></tr>

..tipo isto
Offline

asturmas 
Administrador
Mensagens 19734 Gostos 50
Feedback +2

Troféus totais: 39
Trófeus: (Ver todos)
Mobile User Windows User Super Combination Combination Topic Starter 100 Poll Votes 50 Poll Votes 10 Poll Votes Poll Voter Poll Starter

Isso eu ja percebi..tens algum exemplo?
Offline

cenourinha 
Elite
Mensagens 4094 Gostos 21
Troféus totais: 34
Trófeus: (Ver todos)
Mobile User Apple User Level 6 Super Combination Combination Topic Starter 10 Poll Votes Poll Voter Level 5 Level 4

Uma array com a cor randonomica?
Offline

kingless 
Membro
Mensagens 857 Gostos 0
Troféus totais: 27
Trófeus: (Ver todos)
Super Combination Combination Topic Starter Poll Voter Poll Starter Level 5 Level 4 Level 3 Level 2 Level 1

Acho que estou muito mal informado  :?  Tambem nunca ouvi falar!!   :?
Offline

OFFICER 
Membro
Mensagens 2076 Gostos 0
Troféus totais: 29
Trófeus: (Ver todos)
Super Combination Combination Topic Starter 10 Poll Votes Poll Voter Poll Starter Level 5 Level 4 Level 3 Level 2

Citação de: "cenourinha"
Uma array com a cor randonomica?


É algo do género!

Só que isto utiliza a ligação mysql para definir a cor de cada <tr>! Eu já vi um tutorial disto em video, mas em inglês. Pena já não o ter.. :(

Por isso é que agora pedi a sabedoria do pessoal! Já não me lembro  :oops:
Offline

+speed 
Membro
Mensagens 544 Gostos 0
Troféus totais: 26
Trófeus: (Ver todos)
Super Combination Combination Topic Starter Poll Voter Poll Starter Level 5 Level 4 Level 3 Level 2 Level 1

estas a falar do tipo da pesquisa como está no phpbb.com que nos resultados tem cores desse genero? ou ñ é nada disso
Offline

OFFICER 
Membro
Mensagens 2076 Gostos 0
Troféus totais: 29
Trófeus: (Ver todos)
Super Combination Combination Topic Starter 10 Poll Votes Poll Voter Poll Starter Level 5 Level 4 Level 3 Level 2

Na pesquisa do phpBB a palavra chave fica de outra cor, mas não é isso. É mesmo o fundo que fica diferente..lol eu já faço uma coisa para explicar melhor..nada como uma imagem para se perceber!
Offline

=IceBurn= 
Membro
Mensagens 897 Gostos 3
Feedback +3

Troféus totais: 32
Trófeus: (Ver todos)
Windows User Level 6 Linux User Mobile User Super Combination Combination Topic Starter Poll Voter Poll Starter Level 5

Eu uso uma código para uso pessoal que me gere uma página identica ao que procuras, só que neste caso não utilizo com SQL, mas sim com um ficheiro de texto...
Vou deixar aqui o código, pode ser que seja uma ajuda para ti se o adaptares para SQL.

Código: [Seleccione]
<html>
<head><title>LOGFILE</title></head>
<body>
<?php
$txt 
= @file&#40;"record.txt"&#41;;
if&#40;!$txt&#41; &#123;
print "Sorry, this page is not avaiable!";
exit;
&
#125;
// count retorna o número de índices da tabela
$tot count&#40;$txt&#41;;
?>

<table width="500" align="center" bgcolor="white" cellpadding="1" cellspacing="0">
<?php
for&#40;$i=0;$i<$tot;$i++&#41; &#123;
// ct vai ler o primeiro caractere da linha
$ct=$txt[$i&#93;[0&#93;;
// Chop elimina espaços do final da string e finais de linha também
$linha Chop&#40;$txt[$i&#93;&#41;;
// Seleciona a cor de fundo para a linha
if&#40; $cor == "#FF33FF" &#41; $cor = "#FFCC33";
else $cor "#FF33FF";
print 
"<tr><td bgcolor='$cor'>";
// strip_tags elimina todas as tags html e php, como fgetss
// se a linha começa com um *, le a partir do próximo caractere
// o ponto serve para concatenar as strings
if&#40; $ct == "*" &#41; print "<b>".strip_tags&#40;substr&#40;$linha,1&#41;&#41;."</b>";
else print strip_tags&#40;$linha&#41;;
print "</td></tr>";
&
#125;
?>

</table>
</body>
</html>
Offline

OFFICER 
Membro
Mensagens 2076 Gostos 0
Troféus totais: 29
Trófeus: (Ver todos)
Super Combination Combination Topic Starter 10 Poll Votes Poll Voter Poll Starter Level 5 Level 4 Level 3 Level 2

Eu quero uma coisa tipo isto:



;)

Vou tentar adaptar o teu código, obrigadão! :)
Offline

cenourinha 
Elite
Mensagens 4094 Gostos 21
Troféus totais: 34
Trófeus: (Ver todos)
Mobile User Apple User Level 6 Super Combination Combination Topic Starter 10 Poll Votes Poll Voter Level 5 Level 4

Citação de: "OFFICER"
Eu quero uma coisa tipo isto:



;)

Vou tentar adaptar o teu código, obrigadão! :)


Então é uma array randonomica com o code das cores!
Offline

OFFICER 
Membro
Mensagens 2076 Gostos 0
Troféus totais: 29
Trófeus: (Ver todos)
Super Combination Combination Topic Starter 10 Poll Votes Poll Voter Poll Starter Level 5 Level 4 Level 3 Level 2

Mas não te esqueças que isto é para ser feito de acordo com os resultados da query! :)
Offline

=IceBurn= 
Membro
Mensagens 897 Gostos 3
Feedback +3

Troféus totais: 32
Trófeus: (Ver todos)
Windows User Level 6 Linux User Mobile User Super Combination Combination Topic Starter Poll Voter Poll Starter Level 5

O código adaptado para sql:

Código: [Seleccione]
<?php
$host
="localhost";
$username="";
$password="";
$db_name="teste";
$tbl_name="teste_mysql";  

// Conectar ao servidor e selecionar a BD
mysql_connect&#40;"$host", "$username", "$password"&#41;or die&#40;"cannot connect"&#41;; 
mysql_select_db&#40;"$db_name"&#41;or die&#40;"cannot select DB"&#41;;

$sql="SELECT * FROM $tbl_name";
$result=mysql_query&#40;$sql&#41;;

// Definir $color=1 
$color="1";

echo 
'<table width="400" border="1" align="center" cellpadding="2" cellspacing="0">';
while&
#40;$rows=mysql_fetch_array&#40;$result&#41;&#41;&#123;

// Se $color==1  cor para a table row = #0000FF
if&#40;$color==1&#41;&#123;
echo "<tr bgcolor='#0000FF'>
<td>"
.$rows['id'&#93;."</td><td>".$rows['nome'&#93;."</td><td>".$rows['email'&#93;."</td>
</tr>";
// Definir 
$color==2, Para alternar com outra cor 
$color="2";
&#125;

// Quando 
$color não for igual a 1, usar a seguinte na table row
else &#123;
echo "
<tr bgcolor='#00FFFF'>
<
td>".$rows['id'&#93;."</td><td>".$rows['nome'&#93;."</td><td>".$rows['email'&#93;."</td>
</
tr>";
// Selecionar novamente 
$color para 1 
$color="1";
&#125;

&#125;
echo '</table>';
mysql_close&#40;&#41;;
?>


Serve?  :wink:
Offline

pedrolopes 
Membro
Mensagens 91 Gostos 0
Troféus totais: 23
Trófeus: (Ver todos)
Super Combination Combination Topic Starter Poll Voter Level 4 Level 3 Level 2 Level 1 50 Posts 10 Posts

pah...

imaginando que não tens indices repetidos comparares o ID de um dos campos da tabela e se for par metes uma cor se for impar metes outra...

é um if e um echo simples em php...