php - 显示类(class)注册学生总数

标签 php html mysql count phpmyadmin

我正在为学校做一个系统。我的问题是我无法显示每个类(class)的学生总数。我可以在 DB/phpmyadmin 中查询我需要显示的数据。但对于硬代码,它不起作用。谁能帮忙?

这是我的代码主体。

<?php
         $key="";
    if(isset($_POST['searchtxt']))
        $key=$_POST['searchtxt'];

    if($key !="")
        $sql_sel=mysql_query("SElECT * FROM class_tbl WHERE class_name  like '%$key%' ");
    else
            $sql_sel=mysql_query("SELECT * FROM class_tbl");


            $i=0;
    while($row=mysql_fetch_array($sql_sel)){
    $i++;
    $color=($i%2==0)?"lightblue":"white";
        ?>
      <tr bgcolor="<?php echo $color?>">
            <td><?php echo $i;?></td>
            <td><?php echo $row['class_name'];?></td>
            <td><?php echo $row['class_id'];?></td>
            <td><?php echo $row['class_year'];?></td>
            <td><?php

                    $result = mysql_query("SELECT class_name, COUNT( class_name ) FROM stu_tbl c GROUP BY class_name");
                    $num_rows = mysql_num_rows($result);
                    echo "$num_rows";
                    // $total_enrolled=mysql_query("SELECT COUNT( * ) FROM stu_tbl WHERE class_name =  'class_name'");
                    //echo $total_enrolled;
                ?>

如果我使用此代码,所有类的输出显示将为 6。我认为这是类(class)总数。不是注册的学生。我在 phpmyadmin 中使用的查询工作正常,它显示了我想要的输出。预先感谢您的帮助。真的很感激。

在 phpmyadmin 中,我正在使用这个查询,它工作正常。

SELECT class_name, COUNT( class_name ) FROM stu_tbl c GROUP BY class_name

我希望输出显示为:

no class_name  class_id  year  total_student_enrolled  
1   1 Amanah    1        2014   6       
2   1 Bestari   2        2014   2       
3   2 Amanah    9        2014   5       
4   2 Bestari   14       2014   10      
5   3 Amanah    15       2014   7       
6   3 Bestari   16       2014   1

注册的学生总数将根据学生表中的类(class)名称从学生表中计算出来,与类(class)名称关联的学生人数将计算为 total_student_enrolled

最佳答案

循环内的这个查询是错误的,这将始终为循环的所有迭代返回相同的结果

SELECT class_name, COUNT( class_name ) FROM stu_tbl c GROUP BY class_name

而且你总是只抓取它的第一行。

应该是

SELECT COUNT(1) FROM stu_tbl c WHERE class_name= 'your variable'

这样一来,它只会为您提供该类(class)的计数。这几乎与您在评论中禁用的查询完全一样。只是你没有在那里正确使用变量名。

How can I prevent SQL injection in PHP?

关于php - 显示类(class)注册学生总数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28690037/

相关文章:

javascript - 如何显示帖子提要中最喜欢的帖子?

PHP 发布 SQL 命令只会创建和删除表

javascript - 从表中删除行时如何更改计算

javascript - 如何在 href javascript 函数中获取调用者元素?

javascript - jQuery 如何获得 innerWidth 但没有填充?

php - Drupal 将 nid/vid 从 int 转换为 bigint

mysql - 无法更改 Laravel 表列类型

php - 如何在应用程序上为每个用户创建新的数据库或数据库实例?

php - 组织 PHP 类层次结构的最佳方式

javascript - jQuery UI Datepicker 仅响应第一个文本框