Ver Mensaje Individual
  #8 (permalink)  
Antiguo 12/01/2013, 23:51
underwebinfo
 
Fecha de Ingreso: septiembre-2012
Ubicación: Buenos aires
Mensajes: 110
Antigüedad: 12 años, 1 mes
Puntos: 9
Respuesta: [Aporte] Class Paginador & Upload

@andresdzphp , ya lo adapte a mysqli y elimine las variables inecesarias [para el paginador] xD

Código PHP:
Ver original
  1. <?
  2. # Mysql
  3. class Cm_mysql {
  4.    
  5.     protected $Conexion;
  6.    
  7.     # Conexion
  8.     public function Conectar(){
  9.        
  10.         $this->Conexion = mysqli_connect('localhost', 'root', '','levr');
  11.    
  12.     }
  13.    
  14.     # Consulta
  15.     public function Consulta($Consulta){
  16.        
  17.         return mysqli_query($this->Conexion,$Consulta);
  18.        
  19.     }
  20.    
  21.     # Reg_Num
  22.     public function Reg_Num($Consulta){
  23.    
  24.         return mysqli_num_rows($Consulta);
  25.    
  26.     }
  27.    
  28.     # Assoc
  29.     public function Assoc($Consulta){
  30.    
  31.         return mysqli_fetch_assoc($Consulta);
  32.    
  33.     }
  34.    
  35.     # String Search
  36.     public function Con_Like($Consulta,$Por,$Text){
  37.    
  38.         return mysqli_query($this->Conexion,$Consulta.' WHERE '.$Por.' LIKE '.'"'.$Text.'"');
  39.    
  40.     }
  41.    
  42. }
  43.  
  44. # Paginador
  45. class Cm_Paginador extends Cm_mysql{
  46.    
  47.     # Forma de uso
  48.     # Se debe iniciar la conexion primero.
  49.     # $Paginator->_Mysql($base:string,$article:int,$orden:string,$posicion:string);
  50.     # $Paginator->_Estructure($estructure:string);
  51.     # $Paginator->_Devolucion();
  52.     # $Paginator->_Navegacion($botones:int);
  53.    
  54.     # Configuracion
  55.     private $Mysql;
  56.     private $Estructura;
  57.     private $Posicion;
  58.     private $Paginas;
  59.     private $Botones;
  60.     private $Consulta;
  61.    
  62.     # Mysql
  63.     public function _Mysql($base,$article,$orden,$Posicion){
  64.        
  65.         # Mysql
  66.         $this->Mysql    = parent::$Conexion;
  67.         $Query          = "SELECT * FROM ".($base);
  68.         $Exect          = parent::Consulta($Query);
  69.         $Cant           = parent::Reg_Num($Exect);
  70.  
  71.         # Constructor
  72.         $this->Posicion = $Posicion;
  73.         $this->Paginas  = ceil($Cant/$article);
  74.         $Desde          = $Posicion*$this->Paginas;
  75.        
  76.         # --- Consulta
  77.         $this->Consulta = parent::Consulta($Query.' ORDER BY id '.$orden.' LIMIT '.$Desde.' , '.$Cant);
  78.    
  79.     }
  80.    
  81.     # --- Estructura
  82.     public function _Estructure($estructure){
  83.        
  84.         $this->Estructura = $estructure;
  85.        
  86.     }
  87.    
  88.     # --- Devolucion
  89.     public function _Devolucion(){
  90.        
  91.                
  92.         while($Campo = parent::Assoc($this->Consulta)){
  93.            
  94.             $str = $this->Estructura;  
  95.            
  96.             foreach($Campo as $clave => $valor) {
  97.                    
  98.                 $str = str_replace('{'.$clave.'}',$valor,$str);
  99.                
  100.                
  101.             }
  102.            
  103.             echo $str;
  104.  
  105.         }
  106.        
  107.  
  108.     }
  109.    
  110.     # --- Navegacion
  111.     public function _Navegacion($botones){
  112.        
  113.         # Vars
  114.         $this->Botones = $botones;
  115.        
  116.         if(($botones)>=3){
  117.            
  118.             // next
  119.             if((($this->Posicion)+1)>1 && ($this->Paginas)>1){
  120.                
  121.                 echo '<input type="button" onClick="Paginacion('.($this-Posicion).')" value="next">';
  122.                
  123.             }
  124.            
  125.             // numbers
  126.             for($i = 1;$i<$botones;$i++){
  127.            
  128.                 if($i<$this->Paginas){
  129.                    
  130.                     echo '<input type="button" value="'.$i.'" onClick="Paginacion('.$i.')">';
  131.                        
  132.                 }
  133.            
  134.             }
  135.            
  136.             // prev
  137.             if((($this->Posicion)+1)<($this->Paginas)){
  138.                
  139.                 echo '<input type="button" onClick="Paginacion('.(($this->Posicion)+2).')" value="prev">';
  140.                
  141.             }
  142.    
  143.         }
  144.        
  145.         if(($botones)<=2){
  146.        
  147.                    
  148.             // next
  149.             if((($this->Posicion+1))>1 && ($this->Paginas)>1){
  150.                
  151.                 echo '<input type="button" onClick="Paginacion('.($this->Posicion).')" value="next">';
  152.                    
  153.             }
  154.    
  155.             // prev
  156.             if((($this->Posicion)+1)<($this->Paginas)){
  157.                    
  158.                 echo '<input type="button" onClick="Paginacion('.(($this->Posicion)+2).')" value="prev">';
  159.                    
  160.             }
  161.                            
  162.         }
  163.        
  164.     }
  165.    
  166. }
  167.  
  168. ?>