Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Mehow

[Resolvido] Como alternar mais de 2 cores?

Recommended Posts

Estou fazendo uma galeria dinâmica, na tabela de fundo da imagem as cores devem alternar como nesse exemplo

http://www.colegiodrummondbarretos.com.br/ensinomedio.htm

 

foto1 = amarelo

foto2 = vermelho

foto3 = verde

 

com 2 cores até consigo, é fácil

<td height="141" align="center" bgcolor="<?php if($c % 2){ echo "#CC6868";}else{ echo "#FFE26F";}?>">

mas entre 3 não estou conseguindo fazer, alguém pode me ajudar?

 

obrigado

Compartilhar este post


Link para o post
Compartilhar em outros sites

Olá!

 

Faz um if assim:

 

if($cor == cor1)
{
   $cor = cor2;
}
else if($cor == cor2)
{
   $cor = cor3;
}
else
{
   $cor = cor1;
}

Aí você aplica na tabela......pode fazer com switch case também.

 

Abraço,

SetaMB

Compartilhar este post


Link para o post
Compartilhar em outros sites

Recomendo com switch.. pq ele é mais rápido do que if...

 

mas é claro que não dá pra usar switch em todos os casos.. mas sempre no que puder, recomendo utilizar.. pq ele vai direto ao ponto... ele não vai fazer verificações, se algo é igual ou diferente de uma coisa, o que é o caso do if..

 

Ex. pra você:

 

switch($_POST['cor']){
case 1: $cor = "1"; break;
case 2: $cor = "2"; break;
case 3: $cor = "3"; break;
}

flw

Compartilhar este post


Link para o post
Compartilhar em outros sites

Recomendo com switch.. pq ele é mais rápido do que if...

 

mas é claro que não dá pra usar switch em todos os casos.. mas sempre no que puder, recomendo utilizar.. pq ele vai direto ao ponto... ele não vai fazer verificações, se algo é igual ou diferente de uma coisa, o que é o caso do if..

 

Ex. pra você:

 

switch($_POST['cor']){
case 1: $cor = "1"; break;
case 2: $cor = "2"; break;
case 3: $cor = "3"; break;
}

flw

 

no meu caso tenho um contador que verifico quando for divisivel por 2 atribui a cor

ainda não consegui entender como vou usar o if ou switch para verificar as cores...

Compartilhar este post


Link para o post
Compartilhar em outros sites

Coloca um && no If

 

if(($cor == cor1) && ($c % 2))
{
   $cor = cor2;
}
elseif(($cor == cor2)) && ($c % 2))
{
   $cor = cor3;
}
elseif($c % 2)
{
   $cor = cor1;
}

Compartilhar este post


Link para o post
Compartilhar em outros sites

Não deu certo, olhem o resultado

http://www.colegiodrummondbarretos.com.br/eventos_teste.htm

 

ou então fiz errado o código

<?php
		 $path_local = "padrao.php";                                                                                 
  	 	 include("db.php");
		 
		 $sql = mysql_query("SELECT * from eventos ORDER BY id_evento DESC");
		 $c = 0;
		 $i = 0;
		 $cor1 = "#CC6868"; 
		 $cor2 = "#FFE26F";
		 $cor3 = "#DADA8F";
		 
		 while($row = mysql_fetch_array($sql)){
		 $idEvento = $row['id_evento'];
		 $nome = $row['nome'];
		 $data = $row['data'];
		 $foto = $row['foto'];
		 
		 $filename = "eventos/fotosevento/".$foto;
					
					if(file_exists($filename)){
							$xtam = getimagesize($filename);
							$xw = $xtam[0];
							$xh = $xtam[1];
							$xarq = "eventos/fotosevento/miniaturas/".$foto;
							
					if(!file_exists($xarq)){
					       criarThumbnail($filename);
					    } 
					}

	if(($cor == $cor1) && ($c % 2))
		{
			$cor = $cor2;
		}
		elseif(($cor == $cor2) && ($c % 2))
		{   
			$cor = cor3;
		}
		elseif($c % 2)
		{ 
		  $cor = $cor1;
		}
	
	
	?>
    <td valign="top">
    <table width="320" border="0" align="center" cellpadding="0" cellspacing="0" class="preto">
      <tr>
        <td width="320" align="center">
        <table width="208" border="0" cellspacing="0" cellpadding="0">
          <tr>
            <td height="141" align="center" bgcolor="<?php echo $cor?>">
            <a href="eventos/fotosevento/<?php echo $foto?>" rel="sexylightbox[group<?php echo $idEvento?>]" title="<?php echo $nome?>">
            <img src="eventos/fotosevento/miniaturas/<?php echo $foto ?>" border="0" /></a>
            <?php
            	$sql_fotos = mysql_query("SELECT * FROM fotos_evento WHERE id_evento = '$idEvento'");
				while($row = mysql_fetch_array($sql_fotos)){
					$fotogaleria = $row['foto'];
					echo '<a href=eventos/fotosevento/'.$fotogaleria.' rel=sexylightbox[group'.$idEvento.'] title='.$nome.'></a>';
				}
			?>
            </td>
          </tr>
        </table>          
		</td>
        </tr>
        <tr>
        <td height="20" align="center" valign="top"><?php echo $nome?></td>
      </tr>
      <tr>
        <td height="20" align="center" valign="top"> </td>
       </tr>
    </table>
    <?php
			$c++;
			$i++;
			if($i == 3)
			{
				echo '</tr><tr>';
			}
    	
				
		}
	?>

Compartilhar este post


Link para o post
Compartilhar em outros sites

Agora deu certo!

a solução tava na minha cara

 

fez o seguinte, como tenho o contador $i para contar quando tiver 3 fotos e pular a linha para exibir mais 3 fotos, eu coloquei para quando o $i for 1 coloca a cor1 e assim por diante, no final quando o $i for 3, volto o valor de $i para 0

 

<td height="141" align="center" bgcolor="<?php if($i == 0){ echo $cor1;}if($i == 1){ echo $cor2;}if($i == 2){ echo $cor3;}?>">

 

valew ^^

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.