2012-05-10 50 views
1

我有一個數據庫,其中包含不同地區的漁業。我正在使用下面的命令:獲取符合條件的條目總數php

$sql ="SELECT region FROM table WHERE region='Fife'"; 
    $res = mysql_query($sql) or die(mysql_error()); 
    while($row = mysql_fetch_assoc($res)){ 
     $total = array ($sql); 
     echo count($total); 

這給了我(111111111111111)作爲輸出。不過,我正在尋找它來返回(15)。目前只有15匹配的匹配'法夫'

匹配的任何人都可以提出如何我可以提高我的代碼,以獲得預期的結果?

+0

你會得到多少個1?你正在做'$ total = array($ sql)',所以$ total總是隻有一個元素的數組:$ sql – urraka

+0

得到15 1,這是正確的數量。只想要它說15而不是所有的1 –

回答

0
$sql ="SELECT region FROM table WHERE region='Fife'"; 
    $res = mysql_query($sql) or die(mysql_error()); 
$total = array(); 
while($row = mysql_fetch_assoc($res)){ 
$total[] = array ($sql); 
} 
echo count($total); 

如果你想保持記錄

+0

你做錯了。它應該是'$ total [] = $ row ['region'];' – urraka

+0

@PerroAzul感謝您的補充評論,似乎工作正常。 –

4

使用MySQL的count()

$sql ="SELECT count(*) AS total FROM table WHERE region='Fife'"; 
$res = mysql_query($sql) or die(mysql_error()); 
$row = mysql_fetch_assoc($res); 
echo $row['total']; 
+0

這只是給我()沒有價值? –

+0

最後一行應該是'$ row ['total']'。 – urraka

+0

正確。錯誤地鍵入我的部分。 –

0

實際上,你可以做SQL計數,這是快了不少。

$sql ="SELECT COUNT (*) FROM table WHERE region='Fife'"; 
$c = mysql_query($sql) or die(mysql_error()); 
print $c;