2010-08-04 28 views
2

嗨再次的人的stackoverflow。 我有一個例程,有一個步驟,我覺得不必要 可以說你想從一個畫廊獲得所有圖像,並限制每頁一定數量的圖像。sql直接獲取表中的行數的方法

$db = PDO object 
$start = (pagenum x images per page) 
$limit = (images per page) 
$itemsdata = $db->query("SELECT id,name FROM gallery LIMIT $start,$limit")->fetchAll(); 
$numitems = $db->query("SELECT id FROM gallery")->rowCount(); 

$imgsdata是一個圖庫中所有圖像的數組。 $numimgs是圖庫的圖像數量。

你需要$imgsdata做陣列中的每個圖像的foreach循環,而 $numimgs需要生成頁面編號(如< 3 4 >>)

我的鬥氣與$db->query("SELECT id FROM gallery")->rowCount(); 它感覺完全像某種作弊,是不是有一個直接的方式來獲取表中的行數,如SELECT gallery.Rows

p.s.目前我正在使用SQLite,但我也需要它用於MySQL和PostgreSQL。

+1

從表 – jle 2010-08-04 18:39:32

+0

SELECT COUNT(*),它是如此簡單......嗯,這是你會得到什麼是自學成才...... – 2010-08-04 18:42:07

+0

有什麼頁碼(<< 1 2 3 4 >>)呼籲呢? – 2010-08-04 19:15:57

回答

1

這會告訴你的行數:

SELECT COUNT(*) FROM gallery 
+0

你是第一個:) – 2010-08-04 18:42:57

1

一個簡單的計數()聚合函數將返回的行數迅速

Select count(*) from table 
1

我也是!

SELECT COUNT(*) FROM gallery 

是的,這應該工作在MySQL,SQLite的和PostgreSQL一樣就好了。

+0

:D yay協作! – 2010-08-04 18:43:46

相關問題