No te hagas mucho problema, para mí tu código va bien. Una sugerencia. Colocar en config.php solamente elementos de configuración del sitio y retirar la conexión a la BBDD. Ej:
Código PHP:
Ver original// Rutas
require_once('Clases/clases.php');
// BBDD
define("DSN",'mysql:dbname=mitabla;host=localhost'); // Mensajes del sitio
Yo no utilizo un mvc estricto, pero tiene algo:
Código txt:
Ver originalFront/ <-- sería la Vista
index.php
archivos.php
...
Back/ <-- sería el Controlador
procIndex.php
procArchivos.php
...
Base/
config.php
plantilla.php
Clases/ <-- podría ser el Modelo
clBD.php
clArchivos.php
clPaginacion.php
...
Css/
estilos.css
paginador.css
Funciones/
funArchivos.php
funPaginacion.php
...
Js/
sitio.js
jquery.js
En lo que se refiere al paginador parece que el mío anda por todos lados:
Código txt:
Ver originalarchivos.php
<formulario>
procArchivos.php
recibe los datos del formulario
instancia la clase clArchivos
$sql = "..."
// $numPag:pag actual, $limit:cant result x pag
clPaginacion::Paginar($sql, $numPag, $limit);
clPaginacion.php
public static $result;
public static function Paginar($sql,$numPag,$limit) {
// nº de registro de inicio
$inicio = ($numPag-1) * $limit;
// 1ª consulta
$oStm = clDB::accederBBDD($sql,'ROWS');
// cuenta los registros
self::$iCantReg = $iRst = $oStm;
// carga una variable con la cant paginas
self::$fCantPags = ceil($iRst/$limit);
// sql 2ª consulta, agrega limites
$sql.=" LIMIT ".$inicio.",".$limit."; ";
// 2ª consulta y retorno de resultados
return clPaginacion::$result = clDBpdo::accederMySQL($sSQL,'fetch_all_assoc');
procArchivos.php
// los datos paginados para procesar
$arrayDatos = clPaginacion::$rResult;
// función que pinta el índice del paginador
paginador(parametros);
archivos.php
[resultados]
<paginador>