Exemplo n.º 1
0
 public function getPager($addWhere = '', $addSql = '', $showMax = 20, $select = '', $key = '', $form_vars = array())
 {
     $db = sf::getLib("db");
     if ($select) {
         $sql = $select . " ";
     } else {
         $sql = "SELECT * FROM `" . $this->table . "` ";
     }
     $addWhere && ($sql .= "WHERE " . $addWhere . " ");
     $addSql && ($sql .= $addSql . " ");
     if (!router::get("totalnum" . $key)) {
         $_sql = "SELECT COUNT(*) AS NUM FROM `" . $this->table . "` ";
         $addWhere && ($_sql .= "WHERE " . $addWhere . " ");
         $addSql && ($_sql .= $addSql . " ");
         $row = $db->fetch_first($_sql);
         $total = $row['NUM'];
     } else {
         $total = router::get("totalnum" . $key);
     }
     $pager = new pager($total, $showMax, $key, $form_vars);
     $sql .= "LIMIT " . $pager->getStartNum() . "," . $pager->getShowNum();
     $query = $db->query($sql);
     $pager->setField($db->result_array($query));
     $pager->setObject(clone $this);
     return $pager;
 }