2012-02-10 6 views
0

제품 페이지 템플릿의 총 리뷰 수를 늘리려고하고 있는데, 적어도 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의 결과는 어디에서 볼 수 있습니까? 쿼리에'COUNT (*)'집계가 표시되지 않습니다. –

+0

ZenCart 함수를 사용하고 있습니다 : $ reviews-> RecordCount() 결과를 표시합니다. 다른 일을해야합니까? –

+0

"1"은 진실한 결과라고 생각합니다 - 리소스 포인터에 true 값을 반환하고 출력시 문자열로 변환 한 것처럼 - 그러나이 경우에는 $ db-> Execute() 보고. 그것은 내가 추측 할 수있는 일종의 반복자를 필요로한다. 배열이라면'count()'일 것이다. – CD001

답변

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;?> 

당신은 Configuration (구성)에서 관리 영역에 MAX_DISPLAY_NEW_REVIEWS을 변경할 수 있습니다 > 최대/최소값

관련 문제