2012-04-25 62 views
0

目前我有兩張表A和B.DID是由用戶輸入到一個輸入中,並且這是我的程序中的第一個提示,用於輸入DID。如何從表中執行計數,然後使用PHP顯示計數值?

A包含PID,DID和MaxOccupancy。 PID是專業ID,DID是部門ID。 B包含CID,DID和PID。 CID是客戶端ID,DID和PID是相同的。

我將數據從第一個表格輸出到一個顯示所有數據的html表格中。

但是,我無法從表2中計算PID的數量。我已經$countB= mysql_query ("select count (PID) from B where DID=('$_POST[DID])");

我然後寫

while($row = mysql_fetch_array($countB)) 
    { 
    echo "Current occupancy:".$row['count(PID)'].; 
    } 

有人能幫助我嗎?我如何做一個在我的查詢計數的地方,以獲得用戶在輸入框中輸入DID的內容?我完全錯了嗎?

THANkS!

+0

'where DID =('$ _ POST [DID])'包含一個流浪的單引號。另外,請查看[mysql_real_escape_string](http://php.net/manual/en/function.mysql-real-escape-string.php)。 – Herbert 2012-04-25 00:21:43

回答

1

嘗試

$countB= mysql_query (sprintf("SELECT COUNT(PID) as total FROM B WHERE DID=('%s')",mysql_real_escape_string($_POST['DID']))); 
$row = mysql_fetch_array($countB); 
echo $row['total'] ; 

注..總是篩選SQL注入

0

可以爲COUNT的結果,你可以在PHP訪問創建別名:

mysql_query ("select count (PID) as PIDcount from B where DID=('$_POST[DID])"); 
// then reference it later 
$row['PIDcount']; 

查詢中$_POST[DID]的用法同樣取決於SQL Injection