Чтобы получить количество строк, возвращаемых текущим запросом, поскольку вы пометили php с помощью PDO, вы можете использовать fetchAll()
вместе с count()
Например:
$sth = $dbh->prepare("<your query>");
$sth->execute();
$result = $sth->fetchAll();
$numberOfRows = count($result);
Чтобы получить общее количество строк в вашей таблице, но все еще используя LIMIT
, вы можете либо
Подсчитайте это в отдельном запросе:
SELECT COUNT(*)
FROM nfc_film
JOIN nfc_film_category
ON nfc_film.film_id = nfc_film_category.film_id
JOIN nfc_category
ON nfc_category.category_id = nfc_film_category.category_id
WHERE title LIKE :searchterm OR nfc_category.name = :category;
Или сделать это в одном запросе, используя GROUP BY
(это предотвратит плохую практику использования *
)
-- v------------- Random datas ------------------------v
SELECT COUNT(*) AS "Count", nfc_film.id, nfc_film.name, nfc_film.otherInformation, nfc_category.name FROM nfc_film
JOIN nfc_film_category
ON nfc_film.film_id = nfc_film_category.film_id
JOIN nfc_category
ON nfc_category.category_id = nfc_film_category.category_id
WHERE title
LIKE :searchterm OR nfc_category.name = :category
GROUP BY nfc_film.id, nfc_film.name, nfc_film.otherInformation, nfc_category.name
LIMIT 10
OFFSET :page