/** * @param $selectSql "select id,name,code FROM city where id>10" * @param string $url "getCity-{page}.php?id=10" * @param int $pageNo 当前页 * @param int $pageSize 每页记录数 * @return PageUtil 分页对象 */ public function queryWithPage($selectSql, $url = '', $pageNo = 1, $pageSize = 20) { $sql = trim($selectSql); $start = (intval($pageNo) - 1) * intval($pageSize); $start = $start > 0 ? $start : 0; $sql = $sql . " limit {$start},{$pageSize}"; $dataList = $this->getAll($sql); $newStr = substr($sql, stripos($sql, "FROM")); $orderLength = stripos($newStr, "ORDER "); if ($orderLength) { $countSql = "SELECT count(1) " . substr($newStr, 0, $orderLength); } else { $countSql = "SELECT count(1) " . $newStr; } $totalCount = $this->getColumn($countSql); $pageUtil = new cls_page($url, $totalCount, $pageNo, $pageSize); $pageUtil->setList($dataList); return $pageUtil; }