我正在尝试提取产品页面模板的评论总数,出于某种原因,即使有至少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中运行相同的查询并获得实际结果。
答案 0 :(得分:1)
您已将MAX_DISPLAY_NEW_REVIEWS设置为1. splitPageResults class paginates您的原始查询,因此转换后的查询最后会有'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&gt;最大/最小值