2015-10-14 96 views
0

我试图做一个报告,但这个查询返回0,你能帮助吗? 此报告将在表中显示此查询的结果。查询是好的,我用指向DB和工作[查看查询的形象DB 1运行直接SubQuery PHP显示0结果

$seleciona4 = "SELECT rel1.grupo, 
       (SELECT count(1) 
       FROM relatorios.relatorio rel2 
       WHERE rel2.grupo = rel1.grupo 
       AND rel2.status = 'Em Análise') as count_analise, 

     (SELECT count(1) 
       FROM relatorios.relatorio rel2 
       WHERE rel2.grupo = rel1.grupo 
       AND rel2.status = 'Aguardando Correção') as count_correcao, 

     (SELECT count(1) 
       FROM relatorios.relatorio rel2 
       WHERE rel2.grupo = rel1.grupo 
       AND rel2.status = 'Em trabalho') as count_trabalho, 

     (SELECT count(1) 
       FROM relatorios.relatorio rel2 
       WHERE rel2.grupo = rel1.grupo 
       AND rel2.status = 'Pendente usuário') as count_usuario, 

     (SELECT count(1) 
       FROM relatorios.relatorio rel2 
       WHERE rel2.grupo = rel1.grupo 
       AND rel2.status in ('Em Análise', 'Aguardando Correção', 'Em trabalho','Pendente usuário')) as count_total 


     FROM relatorios.relatorio rel1 
     WHERE rel1.grupo != 'O2A' 
     GROUP BY rel1.grupo 
     ORDER BY 6 DESC;"; 

$resultado4 = mysql_query($seleciona4) or die(mysql_error()); 
?> 
<br><br>• Non-Workable 
<Table border> 
<tr> 
    <td>Grupo</td> 
    <td>Em Analise</td> 
    <td>Aguardando correção</td> 
    <td>Em Trabalho</td> 
    <td>Pendente Usuário</td> 
    <td>Total</td> 
</tr> 

<?php 
while($tb_inc4 = mysql_fetch_array($resultado4)){ 
    $tb_inc4= (object)$tb_inc4; 

    $grupo4 = $tb_inc4->grupo; 
    $analise4 = $tb_inc4->analise; 
    $correcao4 = $tb_inc4->correcao; 
    $trabalho4 = $tb_inc4->trabalho; 
    $usuario4 = $tb_inc4->usuario; 
    $total4 = $tb_inc4->total; 

    echo "<tr> 
      <td>$grupo4</td> 
      <td>$analise4</td> 
      <td>$correcao4</td> 
      <td>$trabalho4</td> 
      <td>$usuario4</td> 
      <td>$total4</td> 
      </tr>"; 
} 
?></table> 
+0

代码是否进入while循环?你有var_dumped $ resultado4('echo var_dump($ resultado4);')? – Jan

+0

您可能在查询中遇到了一些您没有看到的错误。我会将你的mysql_query()或die()语句拆分为2,并像Jan建议的那样在resultado4上执行var_dump。你可能也想打印出mysql_error()结果。 – gdawgrancid

+0

现在是错误mysql_fetch_array()期望参数1是资源, –

回答

1

你应该使用条件聚集。更简单的查询可能会帮助您找到问题:

SELECT r.grupo, 
     SUM(r.status = 'Em Análise') as count_analise, 
     SUM(r.status = 'Aguardando Correção') as count_correcao, 
     SUM(r.status = 'Em trabalho') as count_trabalho, 
     SUM(r.status = 'Pendente usuário') as count_usuario, 
     SUM(r.status in ('Em Análise', 'Aguardando Correção', 'Em trabalho','Pendente usuário')) as count_total 
from relatorios.relatorio r 
where r.grupo <> 'O2A' 
group by r.grupo 
order by 6 desc 

请注意,查询不以分号结尾。应用程序接口通常不会那样。说到这一点,您应该使用目前支持的mysqli_或PDO。

+0

谢谢,但仍然显示 - 0在表 –

+0

现在是错误mysql_fetch_array()期望参数1是资源, –