Php 合并具有不同名称的教员人数
我有一个教员有三个名字,分别是JABFNT、FPKF和JABPN。我想计算每个名字中的学生人数,然后将其合并为一个总数。在数据库中,JABFNT有2名学生,FPKF有1名学生,JABPN有1名学生。因此,输出应该总共有4个学生。我没有找到如何组合它的解决方案,所以这是我尝试过的代码,但我得到的输出是0Php 合并具有不同名称的教员人数,php,sql,count,sum,Php,Sql,Count,Sum,我有一个教员有三个名字,分别是JABFNT、FPKF和JABPN。我想计算每个名字中的学生人数,然后将其合并为一个总数。在数据库中,JABFNT有2名学生,FPKF有1名学生,JABPN有1名学生。因此,输出应该总共有4个学生。我没有找到如何组合它的解决方案,所以这是我尝试过的代码,但我得到的输出是0 include("../connection_jpp.php"); $pengundi_FPKF = 0; $pengundi_JABFN
include("../connection_jpp.php");
$pengundi_FPKF = 0;
$pengundi_JABFNT = 0;
$pengundi_JABPN = 0;
$sql_pengundi = "SELECT * FROM pengundi WHERE aktif = 'Y'";
$result_pengundi = mysql_query($sql_pengundi) or die("".mysql_error());
include("../connection_jpp.php");
while ($row_pengundi = mysql_fetch_array($result_pengundi))
{
include("../connection_jpp.php");
$no_matrik = $row_pengundi['no_matrik'];
include ("../../includefail/connection.php");
$sql_peng = "SELECT * FROM pelajar WHERE no_matriks = '$no_matrik'
AND kod_fakulti = 'FPKF' AND aktif = 'Y'";
$result_peng = mysql_query($sql_peng) or die("".mysql_error());
$count_check_status = mysql_num_rows($result_peng);
if ($count_check_status > 0)
{
$pengundi_FPKF = $pengundi_FPKF + 1;
}
$sql_pengundi = "SELECT * FROM pelajar WHERE no_matriks = '$no_matrik'
AND kod_fakulti = 'JABFNT' AND aktif = 'Y'";
$result_pengundi = mysql_query($sql_pengundi) or die("".mysql_error());
$count_check_stat = mysql_num_rows($result_pengundi);
if ($count_check_stat > 0)
{
$pengundi_JABFNT = $pengundi_JABFNT + 1;
}
$sql_pengundii = "SELECT * FROM pelajar WHERE no_matriks = '$no_matrik'
AND kod_fakulti = 'JABPN' AND aktif = 'Y'";
$result_pengundii = mysql_query($sql_pengundii) or die("".mysql_error());
$count_check_statuss = mysql_num_rows($result_pengundii);
if ($count_check_statuss > 0)
{
$pengundi_JABPN = $pengundi_JABPN + 1;
}
}
$total_FPKF = $pengundi_FPKF;
$total_JABFNT = $pengundi_JABFNT;
$total_JABPN = $pengundi_JABPN;
$total_fac = $total_FPKF + $total_JABFNT + $total_JABPN;
为什么不一次组合SQL查询?
从kod_fakulti所在的pelajar中('JABFNT','FPKF','JABPN')选择COUNT(*)
或使用子查询
编辑:
从pelajar中选择COUNT(*),其中kod_fakulti IN('JABFNT','FPKF','JABPN')和no_matriks='no_matriks'和aktif='Y'
所有这些都是一次完成SQL查询,而不是像原始查询那样进行多次查询查询中有错误吗?没有。我刚得到了0作为输出。
0
可能意味着在查询中找到了错误或零记录。你从哪里得到这个“输出”?帮我,帮你。假设我不在您的计算机上解决此问题的最佳方法是使用SQL only解决方案。SQL将更快地工作,并对进一步的软件支持产生积极影响;它返回0。这就是输出。@zimorok,我已经尝试了您给出的查询,但是它返回了pengundi表中的学生总数,即15。我需要的输出应该是4。@zerhez:回到您的SQL查询,您仍然需要添加no_矩阵
和aktif
像SELECT COUNT(*)一样,从pelajar中选择kod_fakulti IN('JABFNT','FPKF','JABPN')而no_matrik='$no_matrik'和aktif='Y'
@GetSet:我甚至不在乎否决票,你也不应该在意。并非所有错误都会神奇地为您提供可调试的实际错误/异常。