Código:
Y esta es la modificación que hice hasta ahora y es la que me da error.function query($query) { function mysqli_result($res,$row=0,$col=0){ $numrows = mysqli_num_rows($res); if ($numrows && $row <= ($numrows-1) && $row >=0){ mysqli_data_seek($res,$row); $resrow = (is_numeric($col)) ? mysqli_fetch_row($res) : mysqli_fetch_assoc($res); if (isset($resrow[$col])){ return $resrow[$col]; } } return false; } // Primero modificamos el query para averiguar la cantidad total // de registros que devuelve el query. $query_count = preg_replace("/SELECT(.+?)FROM/s", "SELECT COUNT(*) FROM", $query); if(!$this->rs( mysqli_query($this->conn(), $query_count) )) { $this->error("Ocurrió un error al ejecutar el query <i><b>\"$query_count\"</b></i>. La base dijo : <b>".mysql_error()."</b>."); return false; }// Fin If $this->total( mysqli_result($this->rs(), 0) ); $this->totalPaginas(ceil($this->total() / $this->porPagina())); // Comprobamos que no se intenta acceder a una página que no existe. if( $this->pagina() > $this->totalPaginas() ) { $this->error("No exite la página ".$this->pagina()." de resutados. Hay solo un total de ".$this->totalPaginas()); return false; }// Fin If // Ahora modificamos el Query del usuario, para poder agregarle // los límites para realizar la paginación $query .= " LIMIT ".($this->desde()-1).",".$this->porPagina(); if(!$this->rs( mysqli_query($this->conn(), $query) )) { $this->error("Ocurrió un error al ejecutar el query \"$query\". La base dijo : ".mysql_error()); return false; }// Fin If $this->registros( mysqli_num_rows( $this->rs() )); return true; } // function function obtenerArray() { return mysqli_fetch_array( $this->rs() ); } // function
Código:
function query($query) { // Primero modificamos el query para averiguar la cantidad total // de registros que devuelve el query. $query_count = preg_replace("/SELECT(.+?)FROM/s", "SELECT COUNT(*) FROM", $query); $conexion = $this->conn(); $sql = $conexion->prepare($query_count); $sql->execute(); $resultado = $sql->fetchAll(); if(!$this->rs( $resultado )) { $this->error("Ocurrió un error al ejecutar el query <i><b>\"$query_count\"</b></i>. La base dijo : <b>".mysql_error()."</b>."); return false; }// Fin If $contando = $this->rs() ; $this->total( $contando[0][0] ); $this->totalPaginas(ceil($this->total() / $this->porPagina())); // Comprobamos que no se intenta acceder a una página que no existe. if( $this->pagina() > $this->totalPaginas() ) { $this->error("No exite la página ".$this->pagina()." de resutados. Hay solo un total de ".$this->totalPaginas()); return false; }// Fin If // Ahora modificamos el Query del usuario, para poder agregarle // los límites para realizar la paginación $query .= " LIMIT ".($this->desde()-1).",".$this->porPagina(); $base = $conexion->prepare($query); $base->execute(); $resultados = $base->fetchAll(); if(!$this->rs( $resultados )) { $this->error("Ocurrió un error al ejecutar el query \"$query\". La base dijo : ".mysql_error()); return false; }// Fin If $contando2 = $this->rs() ; //echo $contando2[0][0]; $this->registros( $contando2[0][0]); return true; } // function function obtenerArray() { return $this->rs(); } // function
y la verdad no funciona, porque no devuelve el array, y no se que hacer.
Gracias de antemano.
![Golpeado](http://static.forosdelweb.com/fdwtheme/images/smilies/pelea.png)