From: Robert Hicks on
I need a second pair of eyes. When I run my query to just pull out the
data and using Smarty put it in a table it works fine.

Now I want to throw pagination into the picture. When I run it with
pagination I get a "memory cannot be read" error.

Pagination is the last thing I need to actually start using this seriously.

Any help or suggestions would be greratly appreciated.

Using:
Oracle 9.2.0.2
Smarty (latest)
SmartyPaginate (latest)
PHP 5.1.2

=== PAGER.PHP ===
session_start();
require('config.inc.php'); // has all the requires, etc.

try {
$db = NewADOConnection("oci8");
$db->Connect('****', '****', '****');
$db->SetFetchMode(ADODB_FETCH_ASSOC);
}
catch (exception $e) {
var_dump($e);
adodb_backtrace($e->gettrace());
}

$page = new Page();

SmartyPaginate::connect();
SmartyPaginate::setLimit(25);

$page->assign('results', get_db_results());

SmartyPaginate::assign($page);

$page->display('pager.tpl');

function get_db_results() {
$rs = $db->Execute("
SELECT dstrct_code, entity, rtrim(global_profile) as GLOBAL
FROM msf020
WHERE entry_type = 'S'
");

while ($arr = $rs->fetchRow()) {
$data[] = $arr;
}

SmartyPaginate::setTotal(count($data));

return array_slice($data, SmartyPaginate::getCurrentIndex(),
SmartyPaginate::getLimit());
}

==== PAGER.TPL ====
{* Smarty *}
{* :mode=html: *}
<html>
<head>
<title>Paging Test</title>
</head>
<body>
{* display pagination header *}
Items {$paginate.first}-{$paginate.last} out of {$paginate.total} displayed.

{* display results *}
<table>
<tr>
<th>DISTRICT</th>
<th>ENTITY</th>
<th>GLOBAL PROFILE</th>
</tr>
{section name=res loop=$results}
<tr>
<td>{$results[res].DSTRCT_CODE}</td>
<td>{$results[res].ENTITY}</td>
<td>{$results[res].GLOBAL}</td>
</tr>
{/section}
</table>
{* display pagination info *}
{paginate_prev} {paginate_middle} {paginate_next}
</body>
</html>
 | 
Pages: 1
Next: Smarty engine help