Foros del Web » Programando para Internet » PHP » CodeIgniter »

Codeigniter trabajando con varias tablas

Estas en el tema de Codeigniter trabajando con varias tablas en el foro de CodeIgniter en Foros del Web. 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 ...
  #1 (permalink)  
Antiguo 14/12/2012, 11:25
 
Fecha de Ingreso: agosto-2003
Mensajes: 524
Antigüedad: 20 años, 8 meses
Puntos: 5
Codeigniter trabajando con varias tablas

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!
__________________
Saludos!!!
Maru.-
  #2 (permalink)  
Antiguo 14/12/2012, 12:49
Avatar de abimex
Colaborador
 
Fecha de Ingreso: marzo-2007
Ubicación: ~
Mensajes: 751
Antigüedad: 17 años, 2 meses
Puntos: 137
Respuesta: Codeigniter trabajando con varias tablas

cambiaste el nombre al controlador y al modelo?
  #3 (permalink)  
Antiguo 14/12/2012, 17:27
 
Fecha de Ingreso: agosto-2003
Mensajes: 524
Antigüedad: 20 años, 8 meses
Puntos: 5
Respuesta: Codeigniter trabajando con varias tablas

había olvidado cambiar esto
Código PHP:
class Categorias extends CI_Controller 
Mil gracias!
__________________
Saludos!!!
Maru.-

Etiquetas: tabla, tablas
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 17:04.