【问题标题】:PHP MYSQL Add up number of entries in single table and display in HTMLPHP MYSQL 将单个表中的条目数相加并以 HTML 显示
【发布时间】:2010-03-16 14:05:59
【问题描述】:

我有一个名为活动的表,其中包含许多项目活动(例如,6 个活动与一个项目相关)。在项目页面,你可以看到项目,我有一栏需要显示与项目相关的活动数量。

所以基本上,我需要一个查询或 PHP 计算,可以将项目的任务数量相加,然后动态显示这个数字!我很清楚自己需要什么,只是不知道如何实现。

【问题讨论】:

    标签: php mysql add


    【解决方案1】:

    您想要的是在您的 MySQL 查询中使用 COUNT(),或者可能是 SUM() 和 GROUP_BY()。这是Documentation

    【讨论】:

      【解决方案2】:
      Select sum(tasks) as totalTasks from activities where project_id=<id> group by project_id;
      

      也许是这样的?

      或者如果 tasks 是一个外键而不是多个任务,那么:

      Select count(tasks) as totalTasks from activities where project_id=<id> group by project_id;
      

      如果不了解更多关于您的程序和表结构的信息,很难提出更详细的执行此操作的好方法。

      【讨论】:

        【解决方案3】:

        您可以像这样使用 GROUP BY 来做到这一点:

        SELECT sum(activities.activity_id) as num_activities, project.project_name, project.project_id 
        FROM project LEFT OUTER JOIN activities ON activities.project_id = project.project_id
        GROUP BY project.project_id
        

        或者使用嵌套的 select 语句

        SELECT (SELECT count(*) FROM activities where activities.project_id = project.project_id) as num_activities , project.project_name, project.project_id 
        FROM project
        

        【讨论】:

        • 我将如何在表格行中使用 PHP 调用该值?是否只是这样的情况:
        • 对不起,我的意思是 ?我确实尝试将此作为调用语句插入到我的表中,但我无法显示任何内容。
        • 您好,我已经设法让与每个项目相关的活动总数正确显示,非常感谢。但是,此查询会为数据库中的所有项目生成值,而不是仅在您明白我的意思时才分配给用户的值!我还有一个带有 usersprojects 表的 users 表,以形成 users 表和 projects 表之间的一对多。我不确定这是否会派上用场。是否可以在选择查询中插入 WHERE 语句来拉入与项目相关联的任务,该项目也与登录用户相关联
        • 当然,您可以添加任何您想要的 WHERE 子句。在第一个示例中(使用 JOIN ),您可以扩展连接,例如 JOIN 活动 ON activities.project_id = project.project_id AND activities.userid = user.userid。在第二个示例中,您可以通过以类似方式扩展 WHERE 子句来执行相同操作。
        • 好的,我认为我唯一的问题是我在用户和项目之间有一个 user_project 表。每个用户都有一个级别(通过一个数字)来标识他们的权限......在这个视图中查看项目的用户是具有特定级别的管理员,他们没有被分配任务(只有他们创建的项目)我'我现在怀疑这是可能的哈!
        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2014-03-24
        • 2019-06-22
        • 2019-08-31
        • 1970-01-01
        • 2012-06-25
        相关资源
        最近更新 更多