прямой способ получения количества строк в таблице - PullRequest
2 голосов
/ 04 августа 2010

Привет снова люди стека overflow. У меня есть рутина, которая имеет шаг, который я считаю ненужным Допустим, вы хотите получить все изображения из галереи и ограничить определенное количество изображений на странице.

$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 необходимо для создания нумерации страницы (например, << 1 <strong>2 3 4 >>)

моя злоба с $db->query("SELECT id FROM gallery")->rowCount(); Это похоже на какой-то чит, нет ли прямого способа получить количество строк в таблице, что-то вроде SELECT gallery.Rows?

p.s. в настоящее время я использую SQLite, но он мне нужен и для MySQL и PostgreSQL.

Ответы [ 4 ]

1 голос
/ 04 августа 2010

Я тоже!

SELECT COUNT(*) FROM gallery

Да, это должно работать одинаково просто в MySQL, SQLite и PostgreSQL.

1 голос
/ 04 августа 2010

Простая агрегатная функция count () быстро вернет количество строк

Select count(*) from table
1 голос
/ 04 августа 2010
select count(*) from gallery
1 голос
/ 04 августа 2010

Это скажет вам количество строк:

SELECT COUNT(*) FROM gallery
...