// initialize an array for testing for ($i = 0; $i <= 75; ++$i) { $myarray[$i] = 'This is row ' . $i; } #$myarray = null; // create a data object that has the interface needed by the Pager object $datasource = new A_Pager_Array($myarray); // create pager using values from datasource and request params $pager = new A_Pager($datasource); $pager->setRangeSize(5); // create a request processor to set pager from GET parameters $request = new A_Pager_Request($pager); $request->process(); if ($pager->getLastRow() > 0) { // 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">'; $n = $start_row; foreach ($rows as $value) { echo '<tr>'; echo '<td>' . $n++ . '.</td><td>' . $value . '</td>'; echo '</tr>'; } echo '</table>'; // display the paging links echo $writer->getFirstLink() . ' | ' . $writer->getPrevLink() . ' | ' . implode(' | ', $writer->getRangeLinks()) . ' | ' . $writer->getNextLink() . ' | ' . $writer->getLastLink() . '<p/>';
$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>'; echo '<td> </td>'; echo '<td>' . $writer->getOrderByLink('id', 'Key') . '</td>'; echo '<td>' . $writer->getOrderByLink('text', 'Text') . '</td>'; echo '<td>' . $writer->getOrderByLink('sort', 'Sort') . '</td>'; echo '<td> </td>'; echo '</tr>'; $n = $start_row; foreach ($rows as $row) {
$pager = new A_Pager($datasource); $pager->setRangeSize(5); $request = new A_Pager_Request($pager); $request->process(); $writer = new A_Pager_HTMLWriter($pager); $start_row = $pager->getStartRow(); $end_row = $pager->getEndRow(); $pager2 = new A_Pager($datasource); $pager2->setPageSize(5); $pager2->setRangeSize(3); $pager2->setPageParameter('page2'); $pager2->setPageSizeParameter('page_size2'); $pager2->setLastRowParameter('last_row2'); $request->__construct($pager2); $request->process(); $writer2 = new A_Pager_HTMLWriter($pager2); $start_row2 = $pager2->getStartRow(); $end_row2 = $pager2->getEndRow(); $writer->setExtraParameters($writer2->getParameters($pager2->getCurrentPage())); $writer2->setExtraParameters($writer->getParameters($pager->getCurrentPage())); $rows = $datasource->getRows($start_row, $end_row); $n = $start_row; #echo '<pre>' . print_r($rows, 1) . '</pre>'; echo '<table border="2"><tr><td valign="top">'; echo '<table border="1">'; foreach ($rows as $value) { echo '<tr>'; echo '<td>' . $n++ . '.</td><td>' . $value . '</td>'; echo '</tr>'; } echo '</table>';