function etoms_select_data_bypage($dbLink, $strTable, $strColumns, $strWhere = NULL, $strGroupBy = NULL, $strOrder = NULL, $strOrderKey = NULL, $nPage = 1, $nMaxRecordPerPage = 20) { if ($nPage <= 0 || $nMaxRecordPerPage <= 0) { set_db_error(NULL, "Invalid page values [pg={$nPage},maxrec={$nMaxRecordPerPage}]"); return ERROR_DB_FUNCS_SELECTFAILED; } // build select sql $sqlArray = etoms_select_data($dbLink, $strTable, $strColumns, $strWhere, $strGroupBy, $strOrder, $strOrderKey, 1, 1, true); $sqlCount = $sqlArray["count_sql"]; $sqlSelect = $sqlArray["select_sql"]; $res = @mysql_query($sqlCount, $dbLink); // count number of pages if ($res && ($row = mysql_fetch_array($res))) { $nTotalRecords = $row[0]; $nPageCount = floor($row[0] / $nMaxRecordPerPage); if ($row[0] % $nMaxRecordPerPage > 0) { $nPageCount++; } } // get offset using page number if ($nPage == 1) { $pgOffset = 0; } else { $pgOffset = ($nPage - 1) * $nMaxRecordPerPage; } $res = etoms_select_data($dbLink, $strTable, $strColumns, $strWhere, $strGroupBy, $strOrder, $strOrderKey, $nMaxRecordPerPage, $pgOffset); if ($res < 0) { set_db_error($dbLink); return $res; } else { $page_record["total"] = $nTotalRecords; $page_record["count"] = count($res); $page_record["page"] = $nPage; $page_record["max_pages"] = $nPageCount; $page_record["page_count"] = $nPageCount; return array("result" => $res, "page_info" => $page_record); } }
function pagesearch($page = 1, $maxrec = 1000000000, $orderkey = PAYEE_CODE, $is_desc = true) { // select all columns $strValues1[] = "*"; $strValues2[] = "count(*)"; if ($orderkey != NULL) { $strOrder[$orderkey] = $orderkey; } else { $strOrder = $orderkey; } $result = etoms_select_data($this->m_dbLink, ETOMS_PAYEE_TABLE, $strValues1, $strWhere, NULL, $strOrder, $is_desc ? "DESC" : "ASC", $maxrec, $page); $rowcount = etoms_select_data($this->m_dbLink, ETOMS_PAYEE_TABLE, $strValues2, $strWhere, NULL, $strOrder, $is_desc ? "DESC" : "ASC", NULL, NULL); $sqlCount = $rowcount["count_sql"]; $this->out = $result; $this->rcount = $sqlCount; //echo $rowcount."VooDoo"; }