For Programmers: Free Programming Magazines  


Home > Archive > PHP Smarty Templates > December 2004 > adodb-pager and Smarty









You are viewing an archived Text-only version of the thread. To view this thread in it's original format and/or if you want to reply to this thread please [click here]

 

Author adodb-pager and Smarty
Robert

2004-12-21, 4:00 pm

I am probably not assigning this correctly but here is the problem I am
having. First off, the pager works. I get the data and it creates a paging
table. That is . It just doesn't show up where I want it to on the
displayed page.

$pager = new ADODB_Pager($db, $rs);
$pager->Render($rows_per_page=15);
$page->assign('pagedata', $pager);

I then put {$pagedata} inside a <DIV> statement and that is where I want it
to show up. Instead the table shows up at the top of my page and the work
"Object" appears where I want the table to appear. I am guessing that I need
to do something a little more fancy than assign the results.

Robert
Matthew Weier O'Phinney

2004-12-21, 4:00 pm

* Robert <sigzero@gmail.com>:
> I am probably not assigning this correctly but here is the problem I am
> having. First off, the pager works. I get the data and it creates a paging
> table. That is . It just doesn't show up where I want it to on the
> displayed page.
>
> $pager = new ADODB_Pager($db, $rs);
> $pager->Render($rows_per_page=15);
> $page->assign('pagedata', $pager);
>
> I then put {$pagedata} inside a <DIV> statement and that is where I want it
> to show up. Instead the table shows up at the top of my page and the work
> "Object" appears where I want the table to appear. I am guessing that I need
> to do something a little more fancy than assign the results.


I am not familiar with ADODB_Pager, but from your description of it and
the output (and how the PEAR::Pager class works), it looks like you
probably need to do the following:

$pager = new ADODB_Pager($db, $rs);
$pagedata = $pager->Render($rows_per_page=15);
$page->assign('pagedata', $pagedata);

Note: I am capturing the return value from Render(), and assigning that
to the template instead of the pager object itself.

If this is not how it works, another possiblity is that in your template
you'll need to build the pager:

{if $pagedata}
<div class="pager">
{$pager->firstPage} ... etc.
</div>
{/if}

If all else fails, do a print_r on $pager and/or the return value from
Render() to see what it looks like, and build your template accordingly.

--
Matthew Weier O'Phinney | mailto:matthew@garden.org
Webmaster and IT Specialist | http://www.garden.org
National Gardening Association | http://www.kidsgardening.com
802-863-5251 x156 | http://nationalgardenmonth.org
Sponsored Links







Also available: Server administration forum archive | Web Design forum archive | Software forum archive | Hardware reviews archive

Copyright 2008 codecomments.com