Foros del Web » Programando para Internet » PHP » Frameworks y PHP orientado a objetos »

clases dinamica en php

Estas en el tema de clases dinamica en php en el foro de Frameworks y PHP orientado a objetos en Foros del Web. tengo una clase llamada paginacion la cual deseo llamar a sus metodos atravez de xajax el problema es que cuando llamo al metodo atravez de ...
  #1 (permalink)  
Antiguo 20/04/2009, 15:41
Avatar de nazart  
Fecha de Ingreso: marzo-2008
Ubicación: lima chorrillos
Mensajes: 1
Antigüedad: 16 años, 9 meses
Puntos: 0
clases dinamica en php

tengo una clase llamada paginacion la cual deseo llamar a sus metodos atravez de xajax el problema es que cuando llamo al metodo atravez de xajax este no varia sus atributos.

Código PHP:
<?php 
require("clase_mysql.inc.php");
$con_paginacion = new DB_mysql('');    
class  
paginacion 
{
var 
$sql;
var 
$div;
var 
$inicio;
var 
$num_paginas;

    function 
paginacion($sql,$div="",$inicio,$num_paginas)
    {
    
$this->sql=$sql;
    
$this->div=$div;
    
$this->inicio=$inicio;
    
$this->num_paginas=$num_paginas;
    }

    function 
__mostrar_ultimo($inicio)
    {
    
$numreg=$this->num_registro();
    for(
$i=0;$i<=$numreg;$i++)
    {
        if((
$inicio+$this->num_paginas)<$numreg)
        {
        
$this->set_inicio($inicio+$this->num_paginas);
        }
        else
        {
        break;
        }
    }
    return 
$this->listar_paginas($this->get_inicio());
    
//return $this->inicio;
    
}
    
    function 
__mostrar_primero()
    {
    
$this->set_inicio(0);
    return 
$this->listar_paginas($this->get_inicio());
    
//return $this->inicio;
    
}

    function 
__mostrar_siguiente($inicio)
    {
    if(((
$inicio)+($this->num_paginas))<=($this->num_registro()))
    
$this->set_inicio(($inicio)+($this->num_paginas));
    return 
$this->listar_paginas($this->get_inicio());
    
//return $this->inicio;
    
}

    function 
get_inicio()
    {
    return 
$this->inicio;
    }

    function 
set_inicio($inicio)
    {
    
$this->inicio=$inicio;
    }

    function 
__mostrar_anterior($inicio)
    {
    if(((
$inicio)-($this->num_paginas))>=0)
    
$this->set_inicio(($inicio)-($this->num_paginas));
    return 
$this->listar_paginas($this->get_inicio());
    
//return $this->inicio;
    
}

    function 
num_registro()
    {
    global 
$con_paginacion;
    
$res=$con_paginacion->consulta($this->sql);
    return 
mysql_num_rows($res);
    }

    function 
listar_paginas($inicio)
    {
    global 
$con_paginacion;
    
$limit=" limit ".$inicio.",".$this->num_paginas."";
    
$sql=$this->sql.$limit;
    
$res=$con_paginacion->consulta($sql);
    return 
$sql;
    }
}

function 
siguiente($obj)
{
$inicio=$obj->get_inicio();
return 
$obj->__mostrar_siguiente($inicio); 
}

function 
anterior($obj)
{
$inicio=$obj->get_inicio();
return 
$obj->__mostrar_anterior($inicio); 
}

function 
ultimo($obj)
{
$inicio=$obj->get_inicio();
return 
$obj->__mostrar_ultimo($inicio); 
}

function 
primero($obj)
{
return 
$obj->__mostrar_primero(); 
}

$sql="select * from beneficiario";
$inicio=0;
$num_paginas='2';
$div="";
$paginacion_usuario = new paginacion($sql,$div,$inicio,$num_paginas);
echo 
siguiente($paginacion_usuario)."<P>";
echo 
anterior($paginacion_usuario)."<P>";
echo 
ultimo($paginacion_usuario)."<P>";

?>
segun esta clase como veran tienen metodos como mostrar_siguiente,mostrar_anterior,mostrar_inicio, mostrar_final, cuando lo ejecuto de forma lineal el objeto cambia su atributo $inicio, pero cuando lo llamo atravez de xajax este no funciona.

acontinuacion la funccion con xajax

Código PHP:
function paginar($div,$num)
{
global 
$obj;
$respuesta=new xajaxResponse('ISO-8859-1');
if(
$num==4)
{
//$respuesta->addAlert($num);
//$paginacion_usuario->set_inicio('123');
//$respuesta->addAlert($paginacion_usuario->get_inicio());
$inicio=$obj->get_inicio();
$reg=$obj->__mostrar_ultimo($inicio); 

}
if(
$num==1)
{
$reg=$obj->__mostrar_primero($inicio); 

}
if(
$num==3)
{
$inicio=$obj->get_inicio();
$reg=$obj->__mostrar_anterior($inicio); 
}
if(
$num==2)
{
$inicio=$obj->get_inicio();
$reg=$obj->__mostrar_siguiente($inicio); 
}



/*while($reg=mysql_fetch_object($res))
{
    $salida.= "<p>";
    foreach($reg as $index)
    {
    $salida.= $index;
    }
}
*/

$salida=$res;
$respuesta->addAssign("$div","innerHTML",$salida);

return 
$respuesta;

alguien por favor tiene alguna idea de como podria hacer para que atravez de la funcion xajax pueda cambiar los atributos del objeto y por ende poder hacer la paginacion. gracias

nazart jara huaman

Última edición por nazart; 20/04/2009 a las 17:41
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 03:03.