2016-04-17 28 views
0

我是一個有PHP問題的初學者:(

我有一個PHP函數,它顯示數據庫表中的所有行,現在我必須創建分頁來顯示每頁只有有限數量的行
。 我有檢索從查詢計數結果一個問題,我想創造一個條件,PHP & MySQL的使用極限,如果行的數量比需要在一個頁面上更大

下面的代碼:如何在PHP中檢索和顯示COUNT查詢結果?

$count = "SELECT COUNT(*) FROM articles"; 
$countq = $db->query($count); 
$countrs = mysql_fetch_array($countq); 
echo $countrs; 

應該顯示一些行,但是它不會,我做錯了什麼?我想看到結果給ma確保其他一切正常。但我無法得到它的工作。
錯誤:mysql_fetch_array()預計參數1是資源,鑑於對象

$ DB包含數據庫連接信息(服務器,用戶...),並正在

+0

http://stackoverflow.com/questions/2439829/how-to-count-all-rows-when-using-select-with-limit-in-mysql-query –

+0

不要使用mysql api go with pdo 。 –

+0

* $ db包含數據庫連接信息(服務器,用戶...)並正在工作* ...可能不是。你可以顯示該代碼嗎? – fusion3k

回答

2

使用PDO的MySQL查詢。

$db = new PDO('mysql:host=#YOUR HOST#;dbname=#YOUR DB#;charset=utf8', '#YOUR LOGIN#', '#YOUR PASSWORD#'); 
$query = $db->query('SELECT COUNT(*) AS count FROM articles'); 
$countq = $query->fetch(); 
$query->closeCursor(); 
echo $countq['count']; 

我希望這將有助於你

1

您必須設置的限制在查詢像

$count = "SELECT COUNT(*) FROM articles LIMIT 5,10"; 

其中5是起點,10是結果的總數你想。

你提到:$ db但不是$ db是什麼?我的意思是它是一個數據庫對象類?如果你使用的是數據庫類,這將直接工作,如果是這種情況,該類還將具有函數,這將允許你在不使用mysql_fetch_array(實際上是mysqli_fetch_array)的情況下查詢數據。

+0

那麼,$分貝是含有新的PDO( 「MySQL的:主機=」 可變.dbserver 「; DBNAME =」 .dbname,DBUSER,DBPASS, 陣列( PDO :: MYSQL_ATTR_INIT_COMMAND =>「。 SET NAMES utf8「, PDO :: MYSQL_ATTR_INIT_COMMAND =>」SET CHARACTER SET utf8「 ) );它在創建數據庫連接的外部文件中定義。這個文件被包含在當前的php文件中。在這種情況下, – encrypted21

+0

指的是這個。 http://php.net/manual/en/pdostatement.fetch.php PDO :: FETCH_NUM:返回一個按列號索引的數組,從結果集返回,從第0列開始 – chandan

+0

噢,好的。謝謝! – encrypted21