Estas empezando con CI verdad? Si tenes claro el patron MVC, lo cachas enseguida, podes leer la documentacion oficial en el sitio.
CodeIgniter User Guide Version 2.1.0http://codeigniter.com/user_guide/Este es un
ejemplo, lo hice 'a mano alzada' y es para que veas como es el patron Modelo-Vista-Controlador, el codigo esta mal por lo que te aconsejo no probarlo
, si me equiboque en algo y me corrigen mejor.
El modelo esta encargado de hacer peticiones a la base de datos(insert, update, select, etc).
.../models/base.php
class Base_model extends CI_Model { //Al definir una clase la primera letra siempre tiene que ser mayuscula
function __construct()
{
//Llamar al contructor del modelo
parent::__construct();
}
public function consulta($pariente)
{
//Preparamos la consulta
$this->db->get_where('Familia', array('IdPadre' => $pariente)); //Generamos la consulta
$query = $this->db->get();
//Devolvemos el resultado
return $query->result();
}
}
Las vistas puede ser un pedazo del sitio web, como el header, footer, vista de un carrito de compras, etc.
No son llamadas directamente y se cargan en el controlador. El codigo php esta embebido dentro de la vista, por que estará nuestro codigo html, js, css y no hay clases ni funciones de php.
.../views/familia.php
<?php echo $nombreHijo; ?>
El controlador es la base de tu aplicación, es una clase que tiene una asociación con la url del sitio.
ejemplo.com/index.php/nombre-del-controlador/funcion
.../controllers/casa.php
class Casa extends CI_Controller {
public function recursive($pariente){ //Esta funcion va ser poder accedida desde ejemplo.com/index.php/casa/recursive
$this->load->model('Base', 'db'); //Cargamos el modelo
$respuesta = $this->db->consulta($pariente); //Genera la consulta
//Es solo un ejemplo, hay que pensar desde aqui :)
while($respuesta)
{
//Definimos lo que pasaremos a nuestra vista, nota que la clave 'nombreHijo' del array $datos esta asociado a la variable $nombreHijo de la vista familia.
$datos['nombreHijo'] = $respuesta;
//Cargamos la vista y mostramos
$this->load->view('familia', $data);
}
}
}