I'm currently using ezSQL, which I believe to be a great SQL wrapper. I've been tasked with adding in pagination that we can just drop in. Zend has one, which seems like it should work, as it's loosely coupled with the rest of Zend. I'm returning an array with ezSQL, ala:
$results = $db->get_results("SELECT * FROM table", ARRAY_A);
and then shifting this in to the paginator:
$paginator = Zend_Paginator::factory($results);
If I var_dump($paginator)
, I see the values listed from the query. However, if I echo $paginator->pageCount)
, I get NULL
. What's the deal?
Unfortunately, switching from ezSQL to Zend_DB is essentially impossible for our group, so that's out of the question.
EDIT: Output from print_r($paginator)
:
Zend_Paginator Object
(
[_cacheEnabled:protected] => 1
[_adapter:protected] => Zend_Paginator_Adapter_Array Object
(
[_array:protected] => Array
(
[0] => Array
(
[first_name] => Doug
[last_name] => Lawrence
[avatar] => Doug_Lawrence.png
[updated_by] => 14306
[id] => 413
[title] =>
[synopsis] =>
[create_date] => 2009-10-29 12:57:52
[publish_date] => 10/29/09
)
[1] => Array
(
[first_name] => Jason
[last_name] => Lewis
[avatar] => Jason.Lewis.jpg
[updated_by] => 13547
[id] => 411
[title] =>
[synopsis] =>
[create_date] => 2009-10-25 09:19:48
[publish_date] => 10/25/09
)
[2] => Array
(
[first_name] => David
[last_name] => Bowman
[avatar] => David_Bowman.png
[updated_by] => 13564
[id] => 409
[title] =>
[synopsis] =>
[create_date] => 2009-10-24 15:13:13
[publish_date] => 10/24/09
)
[3] => Array
(
[first_name] => David
[last_name] => Bowman
[avatar] => David_Bowman.png
[updated_by] => 13564
[id] => 410
[title] =>
[synopsis] =>
[create_date] => 2009-10-24 15:15:48
[publish_date] => 10/24/09
)
[4] => Array
(
[first_name] => Greg
[last_name] => Morris
[avatar] => GKMorris.png
[updated_by] => 13555
[id] => 408
[title] =>
[synopsis] =>
[create_date] => 2009-10-24 10:21:14
[publish_date] => 10/24/09
)
[5] => Array
(
[first_name] => Thom
[last_name] => Rainer
[avatar] => Thom_Rainer.jpg
[updated_by] => 13560
[id] => 405
[title] =>
[synopsis] =>
[create_date] => 2009-10-23 06:53:43
[publish_date] => 10/23/09
)
[6] => Array
(
[first_name] => David
[last_name] => Bowman
[avatar] => David_Bowman.png
[updated_by] => 13564
[id] => 406
[title] =>
[synopsis] =>
[create_date] => 2009-10-23 16:20:33
[publish_date] => 10/23/09
)
[7] => Array
(
[first_name] => Tom
[last_name] => Harper
[avatar] => 1225910432_63
[updated_by] => 10843
[id] => 402
[title] =>
[synopsis] =>
[create_date] => 2009-10-22 11:17:16
[publish_date] => 10/22/09
)
[8] => Array
(
[first_name] => Jerome
[last_name] => Daley
[avatar] => Jerome_Daley.png
[updated_by] => 13554
[id] => 403
[title] =>
[synopsis] =>
[create_date] => 2009-10-22 14:06:31
[publish_date] => 10/22/09
)
[9] => Array
(
[first_name] => Mark
[last_name] => Howell
[avatar] => Mark_Best.png
[updated_by] => 13561
[id] => 404
[title] =>
[synopsis] =>
[create_date] => 2009-10-22 21:44:51
[publish_date] => 10/22/09
)
[10] => Array
(
[first_name] => Margaret
[last_name] => Marcuson
[avatar] => Marcuson.png
[updated_by] => 14398
[id] => 401
[title] =>
[synopsis] =>
[create_date] => 2009-10-21 18:21:55
[publish_date] => 10/21/09
)
[11] => Array
(
[first_name] => Barry
[last_name] => Winders
[avatar] => Barry_Winders.png
[updated_by] => 13552
[id] => 400
[title] =>
[synopsis] =>
[create_date] => 2009-10-20 20:08:36
[publish_date] => 10/20/09
)
[12] => Array
(
[first_name] => Stephen
[last_name] => Gray
[avatar] => Stephen_Gray.png
[updated_by] => 13556
[id] => 399
[title] =>
[synopsis] =>
[create_date] => 2009-10-20 09:59:16
[publish_date] => 10/20/09
)
[13] => Array
(
[first_name] => Alan
[last_name] => Chandler
[avatar] => Alan_Chandler.png
[updated_by] => 13549
[id] => 398
[title] =>
[synopsis] =>
[create_date] => 2009-10-19 12:03:07
[publish_date] => 10/19/09
)
[14] => Array
(
[first_name] => Mark
[last_name] => Howell
[avatar] => Mark_Best.png
[updated_by] => 13561
[id] => 396
[title] =>
[synopsis] =>
[create_date] => 2009-10-17 12:30:16
[publish_date] => 10/17/09
)
)
[_count:protected] => 15
)
[_currentItemCount:protected] =>
[_currentItems:protected] =>
[_currentPageNumber:protected] => 1
[_filter:protected] =>
[_itemCountPerPage:protected] => 5
[_pageCount:protected] => 3
[_pageRange:protected] => 10
[_pages:protected] =>
[_view:protected] =>
)