I'm actually trying get the count of total rows retrieved by view. When I added count($row) in Global:PHP of views field it returned 1. That also ten times, Means query executed 10 times to retrieve 10 row of data. When I printed the query with dpq($view->build_info['query']); it returned same query 10 times. How can I avoid multiple execution of same query.

  • It executes the query only once, but renders each row individually. If the query returned 10 results, that means 10 rows to render.
    – AKS
    Commented Jun 6, 2014 at 13:20
  • @AyeshK Then how can I get the count before rendering rows
    – James
    Commented Jun 7, 2014 at 5:38

2 Answers 2


You can list the number of results instead with a snippet of php code in the header:

  $view = views_get_current_view();
  print $view->total_rows; 

Learned this trick from: https://stackoverflow.com/a/2989197


You can also achieve it by taking the number of records in the view. For that you can use the Global: Result summary in that you have @total -- the total records in the set. You can use this. I don't know whether this answer meets your need. Just give a try:)

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.