Primero preferiria que utilices un framework como Code Iginiter pues ahora ya casi nadie hace todos sus archivos desde 0, bajo ciertas exepciones. Vas a ver que te ahorraras tiempo y lo amaras o querras crecer despues... yo ya no hago PHP pero yo usaba ese y considero usar en un futuro Laravel.
Si aun asi insistes yo haria lo siguiente
Una clase de BD que me permita hacer las consultas basicas y de tal forma que yo pueda pasarle parametros y usarla en cualquier tabla ... seria un unico modelo x ejemplo
Clas de BD metodo select *
PHP:
function get_all(table, row, value){
"select * from" + table + "where" + row + "=" + value
....
}
Si te das cuenta esta funcion serviria para regresar todos los datos de una tabla cuyo campo coincida con el valor que le pases.... pero es x esto que te digo que mejor ya te pases a un framework xke aqui tendrias que crear una funcion para cada caso... que tal si necesitas validar mas de un campo... haces otra funcion que te permita eso... ahora solo quieres ciertos campos... haces otra que te permita.... dependera de ti como pasar los parametros y manejar los campos, etc.... pero va a llegar un punto que sera muy complicado y lioso de mantener
A lo segundo, los controladores generalmente usan los modelos para crear objetos de datos que se pasan a las vistas... yo no recomendaria usar los controladores para imprimir o generar directamente codigo HTML pues se pierde el sentido del MVC y eso solo lo hacen los novatos.
No pretendo que cambies tu punto de vista y mucho menos dejaras de usar la POO pero si te interesa hacemos una charla x skype o lo que quieras para resolver tus dudas....