【问题标题】:Sql Query show same output 6 time for single runSql Query 单次运行显示相同的输出 6 次
【发布时间】:2017-11-10 06:51:29
【问题描述】:

我正在尝试使用 sql 计数查询并对获取的结果使用一些算术运算。毕竟,我打印了这个结果。我得到了正确的答案,但 6 次。我使用核心 php 作为编码语言。

 $qu="select (SELECT COUNT(P_no) FROM add_new_patient WHERE Branch='$br' and 
 Result='POSITIVE') as pos,(SELECT COUNT(P_no) FROM add_new_patient WHERE 
 Branch='$br') as tot,(SELECT COUNT(P_no) FROM add_new_patient WHERE 
 Branch='$br' and Result='NONE') as pen from add_new_patient ";
 $res2=mysqli_query($con,$qu);
 if($res2 && mysqli_num_rows($res2)>0)
    {
        while($row=mysqli_fetch_assoc($res2))
             { 
                $r1=$row['pos'];
                $r2=$row['tot'];
                $r3=$row['pen'];
                $r4= $r2 - $r3; 
                $r5 =$r1 * 100;
                if($r4 == 0)
                    {
                        $r6 =0;
                    }
                else
                    {
                        $r6 = $r5 / $r4;
                    }
                echo "<td>$r6</td></tr>";
            }
    }   


 Sql Schema :
 P_no  Branch   Result
 1     UDAIPUR  POSITIVE
 2     DELHI    POSITIVE
 3     PUNE     POSITIVE
 4     JAIPUR   NONE

Output is:
r1 = 3;
r2 = 4;
r3 = 1;
r4 = 4-1=3;
r5= 3 * 100= 300
r6 = 300 / 3 =100;
I am getting this 100 but 6 times for single run

【问题讨论】:

  • 能不能加总php代码
  • 请发布您的 sql 架构
  • 我不能添加整个代码,因为它有太多的查询,我包括这个是因为只有这部分有问题。
  • 我认为您在查询中添加“限制 1”,您的代码应该可以工作

标签: php sql


【解决方案1】:

while 循环后的回显结果,希望对你有所帮助。

 $qu="select (SELECT COUNT(P_no) FROM add_new_patient WHERE Branch='$br' and 
 Result='POSITIVE') as pos,(SELECT COUNT(P_no) FROM add_new_patient WHERE 
 Branch='$br') as tot,(SELECT COUNT(P_no) FROM add_new_patient WHERE 
 Branch='$br' and Result='NONE') as pen from add_new_patient ";
 $res2=mysqli_query($con,$qu);
 if($res2 && mysqli_num_rows($res2)>0)
    {
        while($row=mysqli_fetch_assoc($res2))
             { 
                $r1=$row['pos'];
                $r2=$row['tot'];
                $r3=$row['pen'];
                $r4= $r2 - $r3; 
                $r5 =$r1 * 100;
                if($r4 == 0)
                    {
                        $r6 =0;
                    }
                else
                    {
                        $r6 = $r5 / $r4;
                    }   
            }
           echo "<td>$r6</td></tr>";
    }  

谢谢:)

【讨论】:

  • 太棒了 :) 很高兴它帮助了你
猜你喜欢
  • 2022-01-04
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2022-08-04
  • 1970-01-01
  • 2016-08-16
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多