2010-03-16 136 views
2

我有一個稱爲活動的表,其中包含一些項目活動(例如,6個活動與一個項目相關)。在項目頁面上,您可以看到項目,並且我有一列需要顯示與項目關聯的活動數量。PHP MYSQL在單個表中添加條目數並以HTML格式顯示

所以基本上,我需要一個查詢或PHP計算,可以將項目的任務數加起來,然後動態顯示這個數字!我確切知道我需要什麼,只是不知道如何實現它。

回答

1
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; 

擁有了更多地瞭解你的程序和表結構也很難提出更詳細地這樣做的一個很好的方式。

2

你想要的是在你的MySQL查詢中使用COUNT()或可能的SUM()和GROUP_BY()。這是Documentation

0

你可以做到這一點使用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 
+0

我怎麼會那麼調用錶行中使用PHP的價值?它只是一個這樣的情況:<?php echo $ row ['activity_id']?> – Yvonne 2010-03-16 15:05:09

+0

對不起,我的意思是<?php echo $ row ['num_activties']?>?我確實嘗試在我的表格中插入這個作爲聲明中的調用,但我無法獲得任何顯示。 – Yvonne 2010-03-16 15:09:01

+0

嗨,我已經設法讓每個項目的活動總數能夠正確顯示,非常感謝。然而,這個查詢爲數據庫中的所有項目生成值,而不是那些只有分配給用戶的值,如果你明白我的意思! 我也有一個用戶表usersprojects表,以形成用戶表和項目表之間的一對多。我不確定這是否會派上用場。是否可以在選擇查詢中插入WHERE語句來引入與項目關聯的任務,這也與登錄用戶相關 – Yvonne 2010-03-16 15:23:58