Hola estoy haciendo va, termine una clase en php para la paginacion de articulos o lo que se quiera, el unico inconveniente es el de pasar 1 sola variable, mostrare a continuacion el script y luego podre hablar más claro.
Código PHP:
Ver original# --------------- CLASE PAGINACION -------------
class Cm_Paginador{
# --- Configuracion
var $Posicion,$Botones,$Base,$Article,$Order,$Mysql,$Query,$Exect,$Cant,$Paginas,$Comming,$Consulta,$Estructura;
# --- Mysql
public function _Mysql($Mysql,$base,$article,$orden,$Posicion){
# --- Mysql
$this->Base = $base;
$this->Order = $orden;
$this->Article = $article;
$this->Posicion = $Posicion;
$this->Mysql->Conectar();
$this->Query = "SELECT * FROM ".($this->Base);
$this->Exect = $this->Mysql->Consulta($this->Query);
# --- Condicionales
$this->Cant = $this->Mysql->Reg_Num($this->Exect);
$this->Paginas = ceil($this->Cant/$this->Article); $this->Comming = $this->Article*$this->Posicion;
$Desde = $this->Posicion*$this->Paginas;
# --- Consulta
$this->Consulta = $this->Mysql->Consulta($this->Query.' ORDER BY id '.$orden.' LIMIT '.$Desde.' , '.$this->Cant);
}
# --- Estructura
public function _Estructure($estructure){
$this->Estructura = $estructure;
}
# --- Devolucion
public function _Devolucion(){
while($Campo = $this->Mysql->Assoc($this->Consulta)){
echo $this->Estructura;
}
}
# --- Navegacion
public function _Navegacion($botones){
# Vars
$this->Botones = $botones;
if(($this->Botones)>=3){
// next
if(($this->Posicion)>1 && ($this->Paginas)>1){
echo '<input type="button" onClick="Paginacion('.(($this-Posicion)-1).')" value="next">';
}
// numbers
for($i = 0;$i<$this->Botones;$i++){
if($i<$this->Paginas){
echo '<input type="button" value="'.$i.'" onClick="Paginacion('.$i.')">';
}
}
// prev
if(($this->Posicion)<($this->Paginas)){
echo '<input type="button" onClick="Paginacion('.(($this->Posicion)+1).')" value="prev">';
}
}
if(($this->Botones)<=2){
// next
if(($this->Posicion)>1 && ($this->Paginas)>1){
echo '<input type="button" onClick="Paginacion('.(($this->Posicion)-1).')" value="next">';
}
// prev
if(($this->Posicion)<($this->Paginas)){
echo '<input type="button" onClick="Paginacion('.(($this->Posicion)+1).')" value="prev">';
}
}
}
}
# --------------- USO DE PAGINACION -------------
# --- Framework
include("../../Include/Cm_Framework.php");
# --- Posicion
if(isset($_POST['Page']) && $_POST['Page']==''){
$Posicion = intval($_POST['Page']);
}else{
$Posicion = 1;
}
# --- Configuracion
$Paginador = new Cm_Paginador;
$Paginador->_Mysql(new Cm_mysql,'Album',5,'DESC',1);
# --- Estructura
$Estructure = '<li><article class="Info"><h1><img src="Content/Albums/$Campo["Slug"]/$Campo["Caratula"]">$Campo["Titulo"]</h1><p>$Campo["Pie"]</p></article><article class="Multimedia" id="Album_$Campo["id"]"><a href="http://Naylafernandez.com.ar/Album/$Campo["Slug"]/" target="new" class="Ver" title="Ver Album"></a> <input type="button" title="Agregar Fotos" class="Agregar"> <input type="button" title="Editar Album" class="Editar"> <input type="button" title="Eliminar Album" class="Eliminar"></article></li>';
$Paginador->_Estructure($Estructure);
# --- Devolucion
$Paginador->_Devolucion();
# --- Paginacion
$Paginador->_Navegacion(5);
El problema es que cuando llamo a $Paginador->_Devolucion();
me entrega toda la estructura html pasada pero las variables como string y no como variables de datos... me dijeron que con eval se podia acá
http://www.forosdelweb.com/f18/callback-bucle-while-1028736/
pero no comprendo a eval(); -.- y un include no quiero usar, alguna otra sugerencia? seria de mucha utilidad para mi