pagination of db query result

gafir777 - January 12, 2009 - 17:23

Hi,

I'm performing a database query that pulls many results from the database, and I would like to know how to display this result in a pagination similar to many administration pages. That is, with a limit number of entries on one single page and a next >> and << previous button at the bottom to get the rest of the entries.

Is there an easy way to make this happen?

Thanks,

Use pager_query

mike4u4ever2001 - January 12, 2009 - 17:35

Lets say you want to get all the titles of nodes which are of type story... and say you want to display 30 such titles in a page

$sql = "select title, nid from {node} where type = '%s'";
$count_query = "select count(*) from {node} where type = '%s'";
$result = pager_query($sql, 30, 0, $count_query, 'story');
$titles = array();
while ($row = db_fetch_array($result)) {
$rows[''] = l($row['title'], 'node/' . $row['nid']);
$titles[] = $rows;
}
$headers[] = "";
$output = theme('table', $headers, $titles, array("bgcolor" => "#131"));
$output .= theme('pager', NULL, 30);

~~Mukesh~~

 
 

Drupal is a registered trademark of Dries Buytaert.