Подсчет общего количества отзывов на данный товар - PullRequest
0 голосов
/ 10 февраля 2012

Я пытаюсь получить общее количество отзывов для шаблона страницы продукта, и по какой-то причине я продолжаю получать результат одного, несмотря на то, что хотя бы есть 2.

Кто-нибудь может помочь?

У меня написаны следующие биты кода.

$reviews_query_raw = "SELECT r.reviews_id, rd.reviews_text as reviews_text, r.reviews_rating, r.date_added, r.customers_name
                    FROM " . TABLE_REVIEWS . " r, " . TABLE_REVIEWS_DESCRIPTION . " rd
                    WHERE r.products_id = :productsID
                    AND r.reviews_id = rd.reviews_id
                    AND rd.languages_id = :languagesID " . $review_status . "
                    ORDER BY r.reviews_id desc";

$reviews_query_raw = $db->bindVars($reviews_query_raw, ':productsID', $_GET['products_id'], 'integer');
$reviews_query_raw = $db->bindVars($reviews_query_raw, ':languagesID', $_SESSION['languages_id'], 'integer');
$reviews_split = new splitPageResults($reviews_query_raw, MAX_DISPLAY_NEW_REVIEWS);
$reviews = $db->Execute($reviews_split->sql_query);

А потом на странице:

<?php echo $reviews->RecordCount(); ?>

И он возвращает один.Даже если я могу выполнить тот же запрос в phpMyAdmin и получить реальные результаты.

1 Ответ

1 голос
/ 15 февраля 2012

Вы установили для MAX_DISPLAY_NEW_REVIEWS значение 1. Класс splitPageResults разбивает на страницы Ваш исходный запрос, поэтому преобразованный запрос имеет в конце что-то вроде «LIMIT 0, 1». Для получения общего количества отзывов используйте:

<?php echo $reviews_split->number_of_rows;?>

, чтобы узнать, сколько страниц требуется, чтобы отобразить все отзывы, используя текущие настройки использования MAX_DISPLAY_NEW_REVIEWS:

<?php echo $reviews_split->number_of_pages;?>

Вы можете изменить MAX_DISPLAY_NEW_REVIEWS в административной области в Configuration-> Maximum / Minimum values ​​

...