2014-09-10 63 views
1

我使用下面的腳本在那裏我希望某個分支的項目總數,該表如下所示 -PHP得到了總分的多回路

Tbl_branch有 -

分公司ID | 分行名稱

Tbl_employee有 -

EMP_ID | 出價(分行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 } ?> 

這顯示總瓦多次職工在該分支的總數。

我只想在這裏顯示一個tile,它將從一個特定分支中獲得項目總數。 我看到某個地方的數組可以用於這樣的事情,但我不知道如何。

請幫忙。還糾正我的問題,如果不正確的框架。

回答

0

好,只要你有興趣只在特定的分支項目的總數量,你可以只改變你的SQL如下:

SELECT COUNT(id) 
FROM Tbl_Project 
WHERE emp_id IN (
    SELECT emp_id 
    FROM Tbl_employee 
    WHERE bid = '$bid' 
) 

這個查詢應該在選定的分支

返回項目的總數

編輯:澄清一點:內部SELECT選擇在該分支上工作的所有員工,外部SELECT選擇由內部SELECT(例如該分支上的項目)中選擇的員工創建的所有項目。 COUNT只計算這樣的項目。

+0

太棒了!確切需要什麼!非常感謝 !! :) – user1299086 2014-09-10 09:42:59

0

您期待以下內容:「這裏我想獲得一個特定分支的總項目,其中用戶將通過下拉列表選擇分支名稱,其ID將在該值中。」「 - >與當前登錄的用戶或其項目無關,您希望根據與其關聯的分支(通過屬於給定分支並已創建項目的各個員工)對其進行分類。

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分組接收到的數據,並且連接到他們的結果計數。

+0

感謝您的快速響應。但是,如何使用它來獲取分支項目的總數? P.S - 我只是一個新手,所以不知道如何使用上述查詢 – user1299086 2014-09-10 09:36:49

+0

嗯,我不太確定你的HTML的哪一部分應該包含分支的名稱?因爲我看到一個標題爲「Total projects」,並且標題爲「Total Enquiries」,您可以在其中插入與員工關聯的所有項目,但不是您想要放置分支名稱的位置。 – Gabor 2014-09-10 09:40:49

+0

我在頁面的標題中顯示分支名稱,此部分是我卡住的位置,因此不粘貼整個頁面的代碼。此外,在總查詢/總項目中,我想顯示用戶選擇的特定分支的總項目,該項目通過在此頁面中發佈並保存在變量中 - bid .......... PS - @德雷克的 - 答案讓它工作。希望這個問題更清楚...... :) – user1299086 2014-09-10 09:45:24