Esempio n. 1
0
 /** Faz a paginação de resultados do banco de dados
  * @param $table
  * @param $page
  * @param $quantity
  * @param $order_by_column
  * @param $maxlinks
  * @param string $order_by_type
  * @return array
  */
 public static function paginator($table, $page, $quantity, $order_by_column, $maxlinks, $order_by_type = 'DESC')
 {
     $start = $quantity * $page - $quantity;
     $result = [];
     $result['result'] = Database::query("SELECT * FROM {$table} ORDER BY {$order_by_column} {$order_by_type}\n                   LIMIT {$start},{$quantity}")->fetchAll();
     $total = Database::select("SELECT * FROM {$table}")->fetchAll();
     $total = count($total);
     $result['totalpages'] = ceil($total / $quantity);
     $inicio = $page - $maxlinks > 1 ? $page - $maxlinks : 1;
     $fim = $page + $maxlinks < $result['totalpages'] ? $page + $maxlinks : $result['totalpages'];
     if ($result['totalpages'] > 1 && $page <= $result['totalpages']) {
         for ($i = $inicio; $i <= $fim; $i++) {
             $result['links'][] = $i;
         }
     }
     $result['current'] = (int) $page;
     $result['prev'] = $result['current'] > 1 ? $result['current'] - 1 : $result['current'];
     $result['next'] = count($result['result']) >= $quantity ? $result['current'] + 1 : $result['current'];
     $result['maxlinks'] = (int) $maxlinks;
     return (object) $result;
 }
Esempio n. 2
0
 /** Lista apenas um user
  * @param $sql
  * @param $bindValue
  * @return mixed
  */
 public static function getUser($bindValue)
 {
     return Database::select("SELECT * FROM user WHERE id = :id", $bindValue)->fetch();
 }
Esempio n. 3
0
 /**
  * Busca o usuário
  * @return array|mixed
  */
 private static function selectRecoverUser()
 {
     $user = Database::select("SELECT `id`,`email` FROM `user` WHERE\n             `email` = :email", ['email' => self::$email]);
     return $user->fetch();
 }