function db_insert($query, $seq) { $q = pg_query($query); if (!$q) { return null; } return db_select_one_field("SELECT currval('" . db_driver_quote($seq) . "');"); }
function db_select_paginated($query, $page = 0, $limit = false) { if (!$limit) { return db_select_list($query); } $page = intval($page); $limit = intval($limit); $start = $page * $limit; $cmd = 'SELECT SQL_CALC_FOUND_ROWS ' . $query . ' LIMIT ' . $start . ', ' . $limit; $results = db_select_list($query); if (!$results) { return false; } $cmd = 'SELECT FOUND_ROWS()'; $count = db_select_one_field($cmd); if ($count > 0) { $pages = 1 + floor(($count - 1) / $limit); } else { $pages = 0; } return array('pages' => $pages, 'count' => $count, 'results' => $results); }