2015-10-24 33 views
0

我有一個php分頁腳本,我在網上找到(http://papermashup.com/easy-php-pagination/),它工作正常,我想修改它以更好地適合我的需要並更新一點點。我遇到的問題是,雖然它給出了使用獲取COUNT的價值

echo $total_pages.' Results'; 

發現結果的數量,它不會返回一個零如果沒有結果,它只是單純沒有價值。

下面是計算結果數量的代碼。

$query = "SELECT COUNT(*) as num FROM $tableName"; 
$total_pages = mysql_fetch_array(mysql_query($query)); 
$total_pages = $total_pages[num]; 

我已嘗試添加if語句,這樣,如果結果是0,我可以說對不起,沒有找到任何匹配,但我不能讓值顯示,如果沒有結果。

我試圖將COUNT作爲一行與num一起回顯,但無論我做什麼,我似乎都無法使其顯示0結果。

+0

如果沒有結果,我認爲會有什麼去取。您應該將查詢置於條件中。另外,這不會明確表示由於查詢而存在「0」記錄;也可能是錯誤的。 – chris85

回答

0

擴展您的代碼:

$query = "SELECT COUNT(*) as num FROM {$tableName}"; 
$total_pages = mysql_fetch_array(mysql_query($query)); 
$total_pages = $total_pages['num']; 
if (!empty($total_pages)) { 
    echo $total_pages . " Results found."; 
} else { 
    echo "Sorry! No results found."; 
} 
0

您可以通過使用函數mysql_num_rows()來實現此目的;

$result_set = mysql_query($query); 
$count = mysql_num_rows($result_set); 

p.s.請嘗試使用mysqli而不是簡單的mysql,因爲現在已棄用它。

0

試試吧。

$query = mysql_query("SELECT * FROM $tableName"); 
$num = mysql_num_rows($query); 
if($num > 0) 
{ 
    echo "Total records = ".$num; 
} 
else 
{ 
    echo "Sorry no record found"; 
} 
+0

'mysql_num_rows'不如COUNT(*)'可靠,請參閱http://stackoverflow.com/questions/2485224/sql-php-which-is-faster-mysql-num-rows-or-select-計數和類似的 – Martin

+0

可能你是對的。但我總是使用'mysql_num_rows()'而不是'count(*)'並且無論如何感謝您的建議 –