Ver imagem conforme determinado estado
Bom dia meus caros,
Pretendo que na coluna "status" apareça determinada imagem conforme o estado que apareça na coluna "estado" das diferentes linhas. Vi alguns codigos de else, mas não consigo ter bons resultados.
O que aconselham a fazer?
Obrigado
Pretendo que na coluna "status" apareça determinada imagem conforme o estado que apareça na coluna "estado" das diferentes linhas. Vi alguns codigos de else, mas não consigo ter bons resultados.
O que aconselham a fazer?
Obrigado
<table id="tabela" border="0">
<tr class="coluna">
<td bgcolor="#FFFF00">Status</td>
<td bgcolor="#FFFF00">oco_Data_alerta</td>
<td bgcolor="#FFFF00">oco_Hora_alerta</td>
<td bgcolor="#FFFF00">oco_classificacao</td>
<td bgcolor="#FFFF00">oco_local</td>
<td bgcolor="#FFFF00">oco_freguesia</td>
<td bgcolor="#FFFF00">estado</td>
<td bgcolor="#FFFF00">categoria</td>
<td bgcolor="#FFFF00">Opções</td>
</tr>
<?php do { ?>
<tr class="coluna">
<td>< // Imagem aqui conforme os estados "analise", "despacho de 1º alerta", "chegada ao local", "em curso", Em resolução", "encerrada"></td>
<td><?php echo $row_Recordset1['oco_Data_alerta']; ?></td>
<td><?php echo $row_Recordset1['oco_Hora_alerta']; ?></td>
<td><?php echo $row_Recordset1['oco_classificacao']; ?></td>
<td><?php echo $row_Recordset1['oco_local']; ?></td>
<td><?php echo $row_Recordset1['oco_freguesia']; ?></td>
<td><?php echo $row_Recordset1['estado']; ?></td>
<td><?php echo $row_Recordset1['categoria']; ?></td>
<td><a href="dispatch1.php?<?php echo $row_Recordset1['id_ocorrencia']; ?>=">Criar despacho</a> | Criar comunciação</td>
</tr>
<?php } while ($row_Recordset1 = mysql_fetch_assoc($Recordset1)); ?>
</table>Hugo Simoes
Curtidas 0
Respostas
Marisiana Battistella
19/09/2014
As imagens estão armazenados no banco de dados?
GOSTEI 0
Hugo Simoes
19/09/2014
Olá Marisiana, as imagens não estão no banco de dados, mas sim na pasta "imagens".
GOSTEI 0
Marisiana Battistella
19/09/2014
Uma solução seria criar um atributo para armazenar o nome ou o caminho da imagem que deve aparecer em cada registro de acordo com o status.
Assim, quando vc inclui um registro na tabela vc inclui a informação da imagem de acordo com o status que está sendo inserido.
Na exibição, no código HTML, você pode utilizar uma variável que receba como parâmetro o nome da imagem ou o caminho da imagem.
Assim, quando vc inclui um registro na tabela vc inclui a informação da imagem de acordo com o status que está sendo inserido.
Na exibição, no código HTML, você pode utilizar uma variável que receba como parâmetro o nome da imagem ou o caminho da imagem.
GOSTEI 0
William
19/09/2014
Cara eu uso um switch no PHP, segue essa ideia:
$valueStatus = ""; switch ($registro->statusAtual) : case 'F': $valueStatus = "src='img/finalizado.png'"; break; case 'C': $valueStatus = "src='img/cancelado.png'"; break; case 'E': $valueStatus = "src='img/executando.png'"; break; default: $valueStatus = "src='img/padrao.png'"; break; endswitch;
GOSTEI 0
Hugo Simoes
19/09/2014
Wiliam é isso mesmo que preciso, mas onde coloco esse codigo?
GOSTEI 0
William
19/09/2014
Antes de construir as linhas com os dados da tabela, mas dentro do loop!
Na dúvida poste o código com o nome dos campos.
Na dúvida poste o código com o nome dos campos.
GOSTEI 0
Hugo Simoes
19/09/2014
A tabela será essa!
<td><?php echo $row_oco['id_ocorrencia']; ?></td>
<td><?php echo $row_oco['data']; ?></td>
<td><?php echo $row_oco['hora_alerta']; ?></td>
<td><?php echo $row_oco['classificacao']; ?></td>
<td><?php echo $row_oco['local']; ?></td>
<td><?php echo $row_oco['freguesia']; ?></td>
<td><?php echo $row_oco['categoria']; ?></td>
<td></td>
</tr>
<?php } while ($row_oco = mysql_fetch_assoc($oco)); ?>
</table>
</body>
</html>
<?php
mysql_free_result($oco);
?>[/code]
Bom dia meus caros,
<table id="tabela" border="0">
<tr class="coluna">
<td bgcolor="#FFFF00">Status</td>
<td bgcolor="#FFFF00">oco_Data_alerta</td>
<td bgcolor="#FFFF00">oco_Hora_alerta</td>
<td bgcolor="#FFFF00">oco_classificacao</td>
<td bgcolor="#FFFF00">oco_local</td>
<td bgcolor="#FFFF00">oco_freguesia</td>
<td bgcolor="#FFFF00">estado</td>
<td bgcolor="#FFFF00">categoria</td>
<td bgcolor="#FFFF00">Opções</td>
</tr>
<?php do { ?>
<tr class="coluna">
<td>< // Imagem aqui conforme os estados "analise", "despacho de 1º alerta", "chegada ao local", "em curso", Em resolução", "encerrada"></td>
<td><?php echo $row_Recordset1['oco_Data_alerta']; ?></td>
<td><?php echo $row_Recordset1['oco_Hora_alerta']; ?></td>
<td><?php echo $row_Recordset1['oco_classificacao']; ?></td>
<td><?php echo $row_Recordset1['oco_local']; ?></td>
<td><?php echo $row_Recordset1['oco_freguesia']; ?></td>
<td><?php echo $row_Recordset1['estado']; ?></td>
<td><?php echo $row_Recordset1['categoria']; ?></td>
<td><a href="dispatch1.php?<?php echo $row_Recordset1['id_ocorrencia']; ?>=">Criar despacho</a> | Criar comunciação</td>
</tr>
<?php } while ($row_Recordset1 = mysql_fetch_assoc($Recordset1)); ?>
</table><td><?php echo $row_oco['id_ocorrencia']; ?></td>
<td><?php echo $row_oco['data']; ?></td>
<td><?php echo $row_oco['hora_alerta']; ?></td>
<td><?php echo $row_oco['classificacao']; ?></td>
<td><?php echo $row_oco['local']; ?></td>
<td><?php echo $row_oco['freguesia']; ?></td>
<td><?php echo $row_oco['categoria']; ?></td>
<td></td>
</tr>
<?php } while ($row_oco = mysql_fetch_assoc($oco)); ?>
</table>
</body>
</html>
<?php
mysql_free_result($oco);
?>[/code]
GOSTEI 0
William
19/09/2014
Hugo é mais ou menos isso, observe que no switch como não sei o nome do seu campo que possui o status usei o nome fictício "$SEU_STATUS", com certeza vai precisar de ajustes de CSS para posicionar corretamente a imagem na célula. Outro detalhe, usei caminho e nome de imagens fictícios também, adeque conforme se cenário!
<tr class="coluna">
<td bgcolor="#FFFF00">Status</td>
<td bgcolor="#FFFF00">oco_Data_alerta</td>
<td bgcolor="#FFFF00">oco_Hora_alerta</td>
<td bgcolor="#FFFF00">oco_classificacao</td>
<td bgcolor="#FFFF00">oco_local</td>
<td bgcolor="#FFFF00">oco_freguesia</td>
<td bgcolor="#FFFF00">estado</td>
<td bgcolor="#FFFF00">categoria</td>
<td bgcolor="#FFFF00">Opções</td>
</tr>
<?php
do {
$valueStatus = "";
switch ($SEU_STATUS) :
case 'F':
$valueStatus = "src='img/finalizado.png'";
break;
case 'C':
$valueStatus = "src='img/cancelado.png'";
break;
case 'E':
$valueStatus = "src='img/executando.png'";
break;
default:
$valueStatus = "src='img/padrao.png'";
break;
endswitch;
?>
<tr class="coluna">
<td><img <?=$valueStatus?> ></td>
<td><?php echo $row_Recordset1['oco_Data_alerta']; ?></td>
<td><?php echo $row_Recordset1['oco_Hora_alerta']; ?></td>
<td><?php echo $row_Recordset1['oco_classificacao']; ?></td>
<td><?php echo $row_Recordset1['oco_local']; ?></td>
<td><?php echo $row_Recordset1['oco_freguesia']; ?></td>
<td><?php echo $row_Recordset1['estado']; ?></td>
<td><?php echo $row_Recordset1['categoria']; ?></td>
<td><a href="dispatch1.php?<?php echo $row_Recordset1['id_ocorrencia']; ?>=">Criar despacho</a> | Criar comunciação</td>
</tr>
<?php } while ($row_Recordset1 = mysql_fetch_assoc($Recordset1)); ?>
</table>
GOSTEI 0
Hugo Simoes
19/09/2014
Coloquei esse codigo, com as devidas alterações! No entanto, a imagem que aparece é apenas a default. Estou a fazer alguma coisa de errado?
<?php
do {
$classificacao = "";
switch ($classificacao):
case 'Incendio urbano':
$classificacao = "src='imgges/status/2101_5.png'";
break;
case 'Incendio em veiculo':
$classificacao = "src='imgges/status/2301_6.png'";
break;
case 'Acidente':
$classificacao = "src='images/status/4305_5.png'";
break;
case 'Emergencia pré-hospitalar':
$classificacao = "src='images/status/4105_5.png'";
break;
case 'Apoio':
$classificacao = "src='images/status/9111_5.png'";
break;
default:
$classificacao = "src='images/status/importancia_Reduzida.png'";
break;
endswitch;
?>
<tr class="coluna">
<td><?php echo $row_ocorrencias['data']; ?></td>
<td><?php echo $row_ocorrencias['hora_alerta']; ?></td>
<td><?php echo $row_ocorrencias['classificacao']; ?></td>
<td><?php echo $row_ocorrencias['local']; ?></td>
<td><img <?=$classificacao?> ></td>
</tr>
GOSTEI 0
William
19/09/2014
Ele está sempre caindo no default porque não está recebendo um valor para comparação.
Esse trecho do código você tem que passar o nome do campo que contém o status do chamado, no exemplo coloquei $SEU_STATUS:
Para atribuição da imagem você usa outra variável, como mostrei no exemplo:
Esse trecho do código você tem que passar o nome do campo que contém o status do chamado, no exemplo coloquei $SEU_STATUS:
switch ($classificacao):
Para atribuição da imagem você usa outra variável, como mostrei no exemplo:
$valueStatus = "";
switch ($SEU_STATUS) :
case 'F':
$valueStatus = "src='img/finalizado.png'";
break;
case 'C':
$valueStatus = "src='img/cancelado.png'";
break;
case 'E':
$valueStatus = "src='img/executando.png'";
break;
default:
$valueStatus = "src='img/padrao.png'";
break;
endswitch;
GOSTEI 0