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

Fundo de acordo com informação do banco


marcolib

Pergunta

Pessoal, boa tarde. Estou gerando colunas automáticas. Até aí tudo bem, mas quando gerar as informações dentro da tabela, preciso que o fundo da celula $STATUS que contem a informação "A" seja "azul".
Teria como me ajudar? Procurei muito, mas não achei algo para fazer funcionar no meu script abaixo...

<table cellpadding="0" border="1" bordercolor="#8470FF"  style="border-collapse: collapse" align="center">
    <tr>
    <?
    $i = 1;
    $colunas = 30;
    
    $q_STATUS = mysql_query("select ID, BLOCO, APARTAMENTO, RESPONSAVEL, STATUS, CLIENTE from tb_clientes order by APARTAMENTO asc");
    while($STATUS = mysql_fetch_object($q_STATUS)){
    $resto = $i % $colunas;
    ?>                                    
        <td width="80" height="50" align="center">
        <? print $STATUS->APARTAMENTO; ?><br />
        <? print $STATUS->STATUS; ?><br />
        </td>
    <?
    if($resto == ){
    print "\n</tr>\n<tr>\n";
    }
    $i++;    
    }
    if($resto != ){ ?>
    </tr>
    <? } ?>
</table>

 

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

16 respostass a esta questão

Posts Recomendados

  • 0

Olá!

Você pode adicionar classe no td que identifica o status, algo assim:

while($STATUS = mysql_fetch_object($q_STATUS)){
$resto = $i % $colunas;
?>
<td class="status-<?php echo $STATUS->STATUS; ?>" width="80" height="50" align="center">

E no CSS você estiliza essa classe (vai ficar "status-A", "status-etc") conforme você precisa.

Link para o comentário
Compartilhar em outros sites

  • 0

Stoma, não tentei inserir isso no meu código, mas não tive sucesso...
Ele me dá erro na última linha...

Quero que, quando retornar A do banco, seja amarelo, quando retornar V do banco, seja verde...
Se puder me ajudar...

Veja se estou fazendo certo...

<link href="estilo.css" rel="stylesheet"> 

       <td class="status-A<?php echo $STATUS->STATUS; ?>" width="80" height="50" align="center">
 

 

no css

.status-A{
  background-color: #cccccc;
}

Link para o comentário
Compartilhar em outros sites

  • 0

Estou testando assim, mas ele puxa as duas informações...
Como faço para que ele exiba ou B ou A...

<?php $sql = mysql_query("Select * From tb_clientes");
while($exibe = mysql_fetch_assoc($sql))
{
	echo "<table>"; 
	if ($exibe["STATUS"] == "B") 
	{echo "Bola";} 
	if ($exibe["STATUS"] == "A") 
	{echo "arco";} 
} 
?>

 

Link para o comentário
Compartilhar em outros sites

  • 0

Stoma, consegui fazer assim

 

<?php $sql = mysql_query("Select STATUS, BLOCO, APARTAMENTO From tb_clientes");
while($exibe = mysql_fetch_assoc($sql))
{
	echo "<table>";
	if($exibe["STATUS"] === "1"):
	echo "<td bgcolor='#FF0000' height='50' width='50'>APARTAMENTO</td>"; 
	elseif($exibe["STATUS"] === "2") :
	echo "<td bgcolor='#cccccc' height='50' width='50'>APARTAMENTO</td>";  
	endif;
} 
?>

Mas não consigo fazer isso >APARTAMENTO< puxar isso $exibe["APARTAMENTO"]...

Quando ao seu código não consegui fazer funcionar aqui...

Neste que mostrei acima, consigo gerar as tabelas, porém uma sobre a outra, preciso gerar uma do lado da outra com limite de 30 celulas por linha.

Consegue me ajudar?

Link para o comentário
Compartilhar em outros sites

  • 0

Stoma, agora consegui exibir uma informação ao lado da outra, mas não troca a cor de fundo e nem exibe a informação que eu quero dentro da célula.

?>
<table cellpadding="0" border="1" bordercolor="#8470FF"  style="border-collapse: collapse" align="center">
    <tr>
	<?
    $i = 1;
    $colunas = 40;
    
    $q_STATUS = mysql_query("select ID, BLOCO, APARTAMENTO, RESPONSAVEL, STATUS, CLIENTE from tb_clientes order by APARTAMENTO asc");
    while($STATUS = mysql_fetch_object($q_STATUS)){
    $resto = $i % $colunas;
    ?>     <td width="80" height="40" align="center">
	
	<?$STATUS = (array)$stdClass;?>
	<?
	if($STATUS["STATUS"] == "1"):
	echo "<td bgcolor='#FF0000' align='center' height='50' width='50'>1</td>"; 
	elseif($STATUS["STATUS"] == "2") :
	echo "<td bgcolor='#cccccc' align='center' height='50' width='50'>2</td>";  
	endif;
	?>
<?
    if($resto == ){
    print "\n</tr>\n<tr>\n";
    }
    $i++;    
    }
    if($resto != ){ ?>
    </tr>
	<? } ?>
</table>

Mas quando deixo assim:

<?
	//if($STATUS["STATUS"] == "1"):
	echo "<td bgcolor='#FF0000' align='center' height='50' width='50'>1</td>"; 
	//elseif($STATUS["STATUS"] == "2") :
	//echo "<td bgcolor='#cccccc' align='center' height='50' width='50'>2</td>";  
	//endif;
	?>

somente com o echo ele pinta e insere o 1...
Preciso pintar a celula e retornar o ($STATUS["APARTAMENTO"]...

Somente você responde minhas mensagens...
Poderia me ajudar?

Converti para <?$STATUS = (array)$stdClass;?>
E não funciona....

Link para o comentário
Compartilhar em outros sites

  • 0

Ele gera isso (imagem). O que estou fazendo de errado?

Sem título.jpg

Não consigo sair disso:

<table cellpadding="0" border="1" bordercolor="#8470FF"  style="border-collapse: collapse" align="center">
    <tr>
	<?
    $i = 1;
    $colunas = 40;
    
    $q_STATUS = mysql_query("select ID, BLOCO, APARTAMENTO, RESPONSAVEL, STATUS, CLIENTE from tb_clientes order by APARTAMENTO asc");
    while($STATUS = mysql_fetch_object($q_STATUS)){
    $resto = $i % $colunas;
    ?>     
	<?$STATUS = (array)$stdClass;?>
	<?
	if($STATUS["STATUS"] = "1"):
	echo "<td bgcolor='#FF0000' align='center' height='50' width='50'>1</td>"; 
	elseif($STATUS["STATUS"] = "2") :
	echo "<td bgcolor='#CCCCCC' align='center' height='50' width='50'>2</td>";  
	endif;
	?>
<?
    if($resto == ){
    print "\n</tr>\n<tr>\n";
    }
    $i++;    
    }
    if($resto != ){ ?>
    </tr>
	<? } ?>
</table>

 

Link para o comentário
Compartilhar em outros sites

  • 0

Que bom que conseguiu! Ficou bem colorido :D

Uma dica... tente utilizar outras tonalidades dessas cores, pois estas estão bem fortes rs e inclusive o amarelo não dá para ler...

Veja essa tabela de cores do Material Design, são bem bonitas e dá um ótimo contraste entre cor de fundo e cor do texto (atente-se à cor da letra de acordo com a cor do fundo.. algumas são brancas, outras ficam melhores na cor preta):
https://material.google.com/style/color.html

Link para o comentário
Compartilhar em outros sites

  • 0

Stoma, surgiu uma dúvida que não consigo sanar...
Poderia me ajudar?

<table width="100%" border="0" >
	<?
    $i = 1;
    $colunas = 29;
   
    $sql = mysql_query("select ID, BLOCO_E, APARTAMENTO_E, RESPONSAVEL_E, STATUS_E, CLIENTE_E from tb_espelho order by APARTAMENTO_E asc");
    while ($row = mysql_fetch_assoc($sql)) {
    $resto = $i % $colunas;

Se você notar em $colunas = 29; eu determino o número de colunas...
Gostaria que este campo viesse de uma informação que tenho no banco, do campo C_C. Mas não sei como faço isso. Procurei e não achei nada que me ajudasse ou me desse um norte.
Tem um porém: este select está na tb_espelho e o campo que quero está na tb_config.

Poderia me ajudar?

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...