Hola
masterpuppet gracias por tu aclaracion
Cita: Cuando se dice que es portable, se refiere a que el API, es la misma para todos los motores, por ejemplo, para ejecutar una query independientemente de si es mysql, postgres u oracle, utilizas execute, no tiene que ver con la sintaxis SQL de cada motor.
Ahora entiendo!
Cita: Con respecto al cambio en los modelos, primero el paginador debería ser una clase y segundo si estas repitiendo el código en varios modelos, tenes un problema de diseño.
Ahora si me hiciste preocupar, para paginacion si utilizo una clase, bastante buena por cierto
http://objetivophp.com/?p=101 simplemete donde la necesito pues le paso los parametros y ya.
Ahora con repecto a tu segunda observacion de problema de diseño mas me preocupo, mira este es el modelo de clientes para listarlo (Donde esta la paginacion):
Código PHP:
Ver originalfunction listarProveedores($db)
{
$consultaProveedores = $db->query("SELECT * FROM tb_proveedores");
$cantRegistros = $consultaProveedores->rowCount();
$limit = 20;
$pag = new Paginador();
$pgnActual = isset($_GET['pgn'])?
$_GET['pgn'] : 0;
$datos = $pag->paginar($pgnActual, $cantRegistros);
$inicio = $pgnActual * $limit;
$consultaProveedores = $db->query("SELECT * FROM tb_proveedores LIMIT $inicio, $limit");
return $datos[] = array("consultaProveedores" => $consultaProveedores->fetchAll(), "cantRegistros" => $cantRegistros, "datos" => $datos, "pag" => $pag->getCantidadPaginas());
}
Ahora el modelo de proveedores:
Código PHP:
Ver originalfunction listarClientes($db)
{
$consultaClientes = $db->query("SELECT * FROM tb_clientes");
$cantRegistros = $consultaClientes->rowCount();
$limit = 20;
$pag = new Paginador();
$pgnActual = isset($_GET['pgn'])?
$_GET['pgn'] : 0;
$datos = $pag->paginar($pgnActual, $cantRegistros);
$inicio = $pgnActual * $limit;
$consultaClientes = $db->query("SELECT * FROM tb_clientes LIMIT $inicio, $limit");
return $datos[] = array("consultaClientes" => $consultaClientes->fetchAll(), "cantRegistros" => $cantRegistros, "datos" => $datos, "paginas" => $pag->getCantidadPaginas());
}
Como veras son modelos diferentes, cada uno en un script php separado y cada uno con el resto de tareas a BD.
Como son modelos diferentes pues cada uno tienes su LIMIT 0,20.
¿Esta bien asi o si estoy cometiendo el error de diseño?
Gracias.