我正在使用以下脚本,其中我想要特定分支的总项目,表格如下 -
Tbl_branch有 -
分支ID | 分行名称
Tbl_employee有 -
emp_id | bid(分支ID)| emp_details
Tbl_Project有 -
id | project_details | emp_id(哪个员工添加了项目)
-
在这里,我想获得特定分支的总项目,用户将通过下拉列表选择分支名称,其ID将在值中。
我使用以下查询
<?php
$result1 = mysql_query("select * from tbl_employee WHERE bid = '$bid'");
while ($row1 = mysql_fetch_array($result1)){
$eid = $row1['id'];
$pro = mysql_query("SELECT COUNT(id) FROM tbl_project WHERE emp_id = '$eid'") or die(mysql_error());
$rowpro = mysql_fetch_array($pro);
$totalprojectsb = $rowpro[0];
?>
<div class="card-container col-lg-3 col-md-6 col-sm-12">
<div class="card card-red hover">
<div class="front">
<h1>Total Enquires</h1>
<p id="users-count"><?php echo $totalprojectsb; ?></p>
<span class="fa-stack fa-2x pull-right">
<i class="fa fa-circle fa-stack-2x"></i>
<i class="fa fa-user fa-stack-1x"></i>
<span class="easypiechart" data-percent="100" data-line-width="4" data-size="80" data-line-cap="butt" data-animate="2000" data-target="#users-count" data-update="3000" data-bar-color="white" data-scale-color="false" data-track-color="rgba(0, 0, 0, 0.15)"></span>
</span>
</div>
<div class="back">
<ul class="inline divided">
<li>
<h1>Total Projects </h1>
<p><?php echo $totalprojectsb; ?></p>
</li>
<li>
<h1>This Month</h1>
<p><?php ?></p>
</li>
</ul>
<div class="summary negative"> <i class="fa fa-arrow-down"></i> </div>
</div>
</div>
<?php } ?>
这显示总图块的次数与该分支中的员工总数一样多。
我想要的是显示一个瓦片,它将从一个特定分支获得项目总数。 我看到某处数组可用于此类事情,但我不确定如何。
请帮忙。如果没有正确框架,也要更正我的问题。
答案 0 :(得分:0)
您期待以下内容:&#34; 在这里,我希望获得特定分支的总项目,用户将通过下拉列表选择分支名称,其ID将在值中&#34; - &GT;也就是说,与当前登录的用户或其项目无关,您希望根据与之关联的分支(通过属于给定分支并创建项目的各个员工)对它们进行分类。 / p>
SELECT b.branchid, b.branchname, count(p.projectid) AS branchProjects FROM tbl_employee AS e
LEFT JOIN tbl_project AS p ON p.empid = e.empid
LEFT JOIN tbl_branch AS b ON b.branchid = e.bid
GROUP BY b.branchid
使用上述SQL,您将连接表格并按branchID
对收到的数据进行分组,并计算与其相关的结果。
答案 1 :(得分:0)
好吧,只要您只对特定分支上的项目总数感兴趣,您就可以按如下方式更改SQL:
SELECT COUNT(id)
FROM Tbl_Project
WHERE emp_id IN (
SELECT emp_id
FROM Tbl_employee
WHERE bid = '$bid'
)
此查询应返回所选分支上的项目总数
编辑:澄清一下:内部SELECT
选择所有正在该分支上工作的员工,外部SELECT
选择所有项目,这是由在内部{{1}中选择的员工创建的(例如,该分支上的项目)。 SELECT
仅计算此类项目。