2016-03-28 65 views
0

我正在做分頁的東西。我有銷售交易,每個交易都有唯一的交易ID。意外的結果與「羣」byquery

$sql = "SELECT COUNT(*) from sale_history group by transaction_id"; 
$query = mysql_query($sql); 
$row = mysql_fetch_row($query); 
$rows = $row[0]; 
print $rows; 
exit; 

數據在我的表像:

sale id item   customer  transaction_id 
1   abc   aaa   1234 
2   def   aaa   1234 
3   abc   bbb   9876 
4   def   bbb   9876 

現在,這個數應該給我行計數2,但它給我1

+1

它最有可能在結果集中給你2行,但你只取其中一個> mysql_fetch_row($ query)'只執行一次。 –

+0

對於上述數據,您的查詢將返回兩行,每個行的值均爲「2」。如果'print $ rows'輸出'1',你的數據就不像上面的例子。請注意,'$ row [0]'不是查詢行數,而是查詢返回的第一行中的字段('1234'記錄的計數) – fusion3k

回答

1

爲了行的輸出數值,你應該使用

mysql_num_rows 


$sql = "SELECT COUNT(*) from sale_history group by transaction_id"; 
$query = mysql_query($sql); 
$num_rows = mysql_num_rows($query); 
+0

爲什麼不直接使用'SELECT count(distinct transaction_id)FROM sale_history' ? – sagi

+0

絕對比較好,但是他必須先知道這個功能 –

+1

感謝它現在正在工作。通過jQuery的分頁是最好的方法或與PHP腳本? – user2806214

0

您正在尋找mysql_num_rows()

*** mysql_ *是php上的一個depreacted庫,不過。改用PDO或mysqli_ *。