Hola! estuve investigando sobre algunas plataformas para hacer CRUD y me encontré con Codeigniter que me pareción un framework interesante.
Tomé el ejemplo de una web para crear productos
dentro de
application/controllers cree un archivo
productos.php Código PHP:
<?php if ( ! defined('BASEPATH')) exit('No direct script access allowed');
/* Heredamos de la clase CI_Controller */
class Productos extends CI_Controller {
function __construct()
{
parent::__construct();
/* Cargamos la base de datos */
$this->load->database();
/* Cargamos la libreria*/
$this->load->library('grocery_crud');
/* Añadimos el helper al controlador */
$this->load->helper('url');
}
function index()
{
/*
* Mandamos todo lo que llegue a la funcion
* administracion().
**/
redirect('productos/administracion');
}
/*
*
**/
function administracion()
{
try{
/* Creamos el objeto */
$crud = new grocery_CRUD();
/* Seleccionamos el tema */
$crud->set_theme('flexigrid');
/* Seleccionmos el nombre de la tabla de nuestra base de datos*/
$crud->set_table('productos');
/* Le asignamos un nombre */
$crud->set_subject('Productos');
/* Asignamos el idioma español */
$crud->set_language('spanish');
/* Aqui le decimos a grocery que estos campos son obligatorios */
$crud->required_fields(
'id',
'nombre',
'descripcion',
'precio_venta',
'existencia'
);
/* Aqui le indicamos que campos deseamos mostrar */
$crud->columns(
'id',
'proveedor',
'nombre',
'descripcion',
'precio_compra',
'precio_venta',
'existencia'
);
/* Generamos la tabla */
$output = $crud->render();
/* La cargamos en la vista situada en
/applications/views/productos/administracion.php */
$this->load->view('productos/administracion', $output);
}catch(Exception $e){
/* Si algo sale mal cachamos el error y lo mostramos */
show_error($e->getMessage().' --- '.$e->getTraceAsString());
}
}
}
y dentro de
views cree una
carpeta productos y luego un archivo
administracion.php Código PHP:
<?php if ( ! defined('BASEPATH')) exit('No direct script access allowed');
/* Heredamos de la clase CI_Controller */
class Productos extends CI_Controller {
function __construct()
{
parent::__construct();
/* Cargamos la base de datos */
$this->load->database();
/* Cargamos la libreria*/
$this->load->library('grocery_crud');
/* Añadimos el helper al controlador */
$this->load->helper('url');
}
function index()
{
/*
* Mandamos todo lo que llegue a la funcion
* administracion().
**/
redirect('productos/administracion');
}
/*
*
**/
function administracion()
{
try{
/* Creamos el objeto */
$crud = new grocery_CRUD();
/* Seleccionamos el tema */
$crud->set_theme('flexigrid');
/* Seleccionmos el nombre de la tabla de nuestra base de datos*/
$crud->set_table('productos');
/* Le asignamos un nombre */
$crud->set_subject('Productos');
/* Asignamos el idioma español */
$crud->set_language('spanish');
/* Aqui le decimos a grocery que estos campos son obligatorios */
$crud->required_fields(
'id',
'nombre',
'descripcion',
'precio_venta',
'existencia'
);
/* Aqui le indicamos que campos deseamos mostrar */
$crud->columns(
'id',
'proveedor',
'nombre',
'descripcion',
'precio_compra',
'precio_venta',
'existencia'
);
/* Generamos la tabla */
$output = $crud->render();
/* La cargamos en la vista situada en
/applications/views/productos/administracion.php */
$this->load->view('productos/administracion', $output);
}catch(Exception $e){
/* Si algo sale mal cachamos el error y lo mostramos */
show_error($e->getMessage().' --- '.$e->getTraceAsString());
}
}
}
Con esto no tuve ningun tipo de problemas, pero quise hacer lo mismo para categorias, obviamente cambiando los campos de la tabla y me aparece "404 Page Not Found"
Alguien me puede decir si al estar llamando mas de una tabla hay que hacer alguna otra configuración?
Hasta ahora no encontré ejemplos en la web, ojalá me puedan ayudar.
Muchas gracias!