Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/matlab/13.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
PHP MYSQL将单个表中的条目数相加,并以HTML显示_Php_Mysql_Add - Fatal编程技术网

PHP MYSQL将单个表中的条目数相加,并以HTML显示

PHP MYSQL将单个表中的条目数相加,并以HTML显示,php,mysql,add,Php,Mysql,Add,我有一个名为activities的表,其中包含许多项目的活动(例如,6个活动与一个项目相关)。在项目页面上,您可以看到项目,我有一列需要显示与项目关联的活动数量 因此,基本上,我需要一个查询或PHP计算,可以将项目的任务数相加,然后动态显示这个数字!我确切地知道我需要什么,只是不知道如何实现它。从活动中选择sum(tasks)作为totalTasks,其中project\u id=按project\u id分组; Select sum(tasks) as totalTasks from acti

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

因此,基本上,我需要一个查询或PHP计算,可以将项目的任务数相加,然后动态显示这个数字!我确切地知道我需要什么,只是不知道如何实现它。

从活动中选择sum(tasks)作为totalTasks,其中project\u id=按project\u id分组;
Select sum(tasks) as totalTasks from activities where project_id=<id> group by project_id;
也许是这样的

或者,如果任务是外键而不是多个任务,则:

Select count(tasks) as totalTasks from activities where project_id=<id> group by project_id;
从活动中选择count(tasks)作为totalTasks,其中project\u id=按项目分组;

如果不了解更多关于程序和表结构的信息,就很难提出更详细的建议。

您想要的是在MySQL查询中使用COUNT()或SUM()和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调用该值?这仅仅是一个这样的例子:对不起,我是说?我确实尝试将此作为调用语句插入到我的表中,但我无法显示任何内容。您好,我已经成功地使每个项目关联的活动总数正确显示,非常感谢。但是,如果您明白我的意思,这个查询将为数据库中的所有项目生成值,而不是那些仅分配给用户的项目!我还有一个users表和usersprojects表,以形成users表和projects表之间的一对多关系。我不确定这是否能派上用场。是否可以在select查询中插入WHERE语句以拉入与项目关联的任务,该项目也与登录用户关联?当然,您可以添加任何您想要的WHERE子句。在第一个示例中(使用联接),您可以扩展联接,例如activities.project\u id=project.project\u id和activities.userid=user.userid上的联接活动。在第二个示例中,可以通过类似的方式扩展WHERE子句来实现同样的功能。好的,我认为我唯一的问题是在用户和项目之间有一个user_项目表。每个用户都有一个级别(通过一个数字)来标识他们的权限。。。在这个视图中查看项目的用户是一个具有特定级别的管理员,他们没有分配任务(只在创建项目时分配任务),我怀疑现在这是否可能哈!