Jump to content


Photo

Fazendo Somatoria Dos Setores


  • Faça o login para participar
1 reply to this topic

#1 pl@ytim3

pl@ytim3

    Novato no fórum

  • Usuários
  • 8 posts
  • Sexo:Masculino

Posted 06/05/2008, 23:09

minha duvida é a seguinte, o meu código me traz o resultado bem certo. Se caso o setor ($setor) não tiver nenhum funcionário cadastrado para trabalhar nele o resultado total daquele setor me mostra o TOTAL GERAL em vez de aparecer o ZERO, como poderia fazer nesse meu código para que quando o setor conter "0", ou seja nenhum funcionario cadastrado, me apareça ZERO mesmo e não o VALOR TOTAL de todos os setores ?

Graficamente fica assim:
portaria=5
almoxarifado=15(no bd contem zero)
expediente=5
recepção=15(no bd contem zero)
garagem=5
total geral de funcionarios por setor=15

<HTML>
<HEAD>
 <TITLE>Documento PHP</TITLE>
</HEAD>
<BODY>
<?
include"config.php";
$resultado = mysql_query ("SELECT setor, COUNT(setor) conta FROM funcionarios GROUP BY setor='PORTARIA' ORDER BY conta");
$linhas = mysql_num_rows ($resultado);

// Exibindo os dados
echo "
  <br>
  <table width=30% border=1 cellpadding=0 cellspacing=0 bordercolor=#CCCCCC>
  <tr>
  <td colspan=1 bgcolor=#CCCCCC><div align=center></div></td>
  </tr>
  <tr>
  <td width=10% bgcolor=#COCOCO><div align=left><b><h4>PORTARIA</h4></b></div></td>
	  </tr>";
//for ($i=0; $i<$linhas; $i++)
	{
		$registro = mysql_fetch_row($resultado);
		echo "
  <tr>
  <td><div align=center><b><h4>$registro[1]</h4></b></div></td>
  </tr>
	 ";
   }

$resultado = mysql_query ("SELECT setor, COUNT(setor) conta FROM funcionarios GROUP BY setor='ALMOXARIFADO' ORDER BY conta");
$linhas = mysql_num_rows ($resultado);

// Exibe os dados
echo "
<br>
  <table width=30% border=1 cellpadding=0 cellspacing=0 bordercolor=#CCCCCC>
  <tr>
  <td colspan=1 bgcolor=#COCOCO><div align=center></div></td>
  </tr>
  <tr>
	<td width=10% bgcolor=#COCOCO><div align=left><b><h4>ALMOXARIFADO</h4></b></div></td>
	  </tr>";
//for ($i=0; $i<$linhas; $i++)
	{
		$registro = mysql_fetch_row($resultado);
echo "
  <tr>
  <td><div align=center><b><h4>$registro[1]</h4></b></div></td>
  </tr>
	 ";
   }
 $resultado = mysql_query ("SELECT setor, COUNT(setor) conta FROM funcionarios GROUP BY setor='EXPEDIENTE' ORDER BY conta");
$linhas = mysql_num_rows ($resultado);

// Exibe os dados
echo "
<br>
  <table width=30% border=1 cellpadding=0 cellspacing=0 bordercolor=#CCCCCC>
  <tr>
  <td colspan=1 bgcolor=#CCCCCC><div align=center></div></td>
  </tr>
  <tr>
	<td width=10% bgcolor=#COCOCO><div align=left><b><h4>EXPEDIENTE</h4></b></div></td>
	  </tr>";
//for ($i=0; $i<$linhas; $i++)
	{
		$registro = mysql_fetch_row($resultado);
echo "
  <tr>
  <td><div align=center><b><h4>$registro[1]</h4></b></div></td>
  </tr>
	 ";
   }
$resultado = mysql_query ("SELECT setor, COUNT(setor) conta FROM funcionarios GROUP BY setor='RECEPCAO' ORDER BY conta");
$linhas = mysql_num_rows ($resultado);

// Exibe os dados
echo "
<br>
  <table width=30% border=1 cellpadding=0 cellspacing=0 bordercolor=#CCCCCC>
  <tr>
  <td colspan=1 bgcolor=#CCCCCC><div align=center></div></td>
  </tr>
  <tr>
	<td width=10% bgcolor=#COCOCO><div align=left><b><h4>RECEPCAO</h4></b></div></td>
	  </tr>";
//for ($i=0; $i<$linhas; $i++)
	{
		$registro = mysql_fetch_row($resultado);
echo "
  <tr>
  <td><div align=center><b><h4>$registro[1]</h4></b></div></td>
  </tr>
	 ";
   }

$resultado = mysql_query ("SELECT setor, COUNT(setor) conta FROM funcionarios GROUP BY setor='GARAGEM' ORDER BY conta");
$linhas = mysql_num_rows ($resultado);

// Exibe os dados
echo "
<br>
  <table width=30% border=1 cellpadding=0 cellspacing=0 bordercolor=#CCCCCC>
  <tr>
  <td colspan=1 bgcolor=#CCCCCC><div align=center></div></td>
  </tr>
  <tr>
	<td width=10% bgcolor=#FF6600><div align=left><b><h4>GARAGEM</h4></b></div></td>
	  </tr>";
//for ($i=0; $i<$linhas; $i++)
	{
		$registro = mysql_fetch_row($resultado);
echo "
  <tr>
  <td><div align=center><b><h4>$registro[1]</h4></b></div></td>
  </tr>
	 ";
   }


$resultado = mysql_query ("SELECT setor, COUNT(setor) conta FROM funcionarios GROUP BY setor='MANUTENCAO' ORDER BY conta");
$linhas = mysql_num_rows ($resultado);

// Exibe os dados
echo "
<br>
  <table width=30% border=1 cellpadding=0 cellspacing=0 bordercolor=#CCCCCC>
  <tr>
  <td colspan=1 bgcolor=#CCCCCC><div align=center></div></td>
  </tr>
  <tr>
	<td width=10% bgcolor=#FF6600><div align=left><b><h4>MANUTENCAO</h4></b></div></td>
	  </tr>";
//for ($i=0; $i<$linhas; $i++)
	{
		$registro = mysql_fetch_row($resultado);
echo "
  <tr>
  <td><div align=center><b><h4>$registro[1]</h4></b></div></td>
  </tr>
	 ";
   }

$resultado = mysql_query ("SELECT setor, COUNT(setor) conta FROM funcionarios GROUP BY setor='PORTARIA,ALMOXARIFADO,EXPEDIENTE,RECEPCAO,GARAGEM,MANUTENCAO' ORDER BY conta");
$linhas = mysql_num_rows ($resultado);

// Exibe os dados
echo "
 <br>
  <table width=30% border=1 cellpadding=0 cellspacing=0 bordercolor=#CCCCCC>
  <tr>
  <td colspan=1 bgcolor=#CCCCCC><div align=center></div></td>
  </tr>
  <tr>
  <td width=10% bgcolor=#003366><div align=center><font color=FFFFFF><b><h4>Total DE FUNCIONARIOS</h4></b></font></div></td>
	  </tr>";
//for ($i=0; $i<$linhas; $i++)
	{
		$registro = mysql_fetch_row($resultado);
		echo "
<br>
<tr>
<td><div align=center><b><h4>$registro[1]</h4></b></div></td>

</tr>
</td>
</tr>
</table>
</p>
";
}
?>
</BODY>
</HTML>

???

Edição feita por: pl@ytim3, 06/05/2008, 23:17.


#2 dgt

dgt

    diego^SCFC

  • Usuários
  • 281 posts
  • Sexo:Masculino
  • Localidade:Recife-PE
  • Interesses:Java, Delphi, PHP, SQL, Modelagem de Dados, CSS, Lógica de Programação (Algoritmos), Teoria em Banco de Dados

Posted 07/05/2008, 00:15

Do jeito que você está fazendo, a sintaxe correta é:
SELECT COUNT(setor) FROM funcionarios WHERE setor='PORTARIA'

O GROUP BY só seria utilizado se você estivesse colocando todos de uma vez, exemplo:
SELECT COUNT(setor) FROM funcionarios GROUP BY setor
Nesse caso iria aparecer quantos funcionários existem, separando por grupos.
Posted Image




1 user(s) are reading this topic

0 membro(s), 1 visitante(s) e 0 membros anônimo(s)

IPB Skin By Virteq