$last = 75; for ($i = $first; $i <= $last; ++$i) { $myarray[$i]['id'] = $i; $myarray[$i]['text'] = 'This is row ' . $i; $myarray[$i]['sort'] = $last - $i; } #$myarray = null; // create a data object that has the interface needed by the Pager object $datasource = new A_Pager_Array($myarray); $datasource->orderBy('text'); } // create pager using values from datasource and request params $pager = new A_Pager($datasource); $pager->setPageSize(25); // change from default of 10 of you want $pager->setOrderByFields(array('id', 'text', 'sort'), 'text'); // allowed orderby fields and starting sort // create a request processor to set pager from GET parameters #$request = new PagerRequest($pager); $request = new A_Pager_Request_Session($pager); $request->process(); if ($pager->hasPages()) { // create a HTML writer to output $writer = new A_Pager_HTMLWriter($pager); // get rows of data $start_row = $pager->getStartRow(); $end_row = $pager->getEndRow(); $rows = $datasource->getRows($start_row, $end_row); // display the data echo '<table border="1">'; echo '<tr>';