Upload
cesar
View
80
Download
5
Embed Size (px)
DESCRIPTION
Php creacion crud
Citation preview
¿Cómo realizar un CRUD sencillo en PHP y CodeIgniter desde cero?Primero que nada, ¿Qué significa CRUD?
CRUD es una aplicación que esta encargada de crear, leer, actualizar y eliminar registros en
una base de datos, y de ahí CRUD (por sus siglas en Inglés).
Ahora supongamos que somos una empresa desarrolladora de software y un cliente necesita
una pequeña aplicación para actualizar inventarios de los productos que vende, pero quiere
poder hacerlo desde cualquier parte, o sea necesita una aplicación web.
Necesitamos algunas herramientas para poder desarrollar esta pequeña aplicación ¿pero qué
necesitamos? simple, no lo pensé dos veces y decidí lo siguiente.
PHP
MySQL
CodeIgniter
Grocery CRUD
Como nota extra, yo en la elaboración de este tutorial utilice el editor Sublime Text, ya que me
da la opción de abrir y gestionar proyectos.
Bien quiero suponer que tenemos instalado un servidor Apache y MySQL, si no pueden leer el
siguiente Articulo.
Ahora necesitamos descargar la versión más actualizada de CodeIgniter (en este caso será
2.1.2)desde el siguiente enlace:
http://codeigniter.com/
Una vez descargado copiamos el archivo al directorio htdocs y después lo descomprimimos;
podemos observar que se extrae CodeIgniter y crea una carpeta, renombramos esa carpeta
comocrud.
Ahora tenemos CodeIgniter instalado y listo para utilizarse, podemos comprobar que hasta
ahorita todo funciona correctamente yendo a la siguiente dirección: http://localhost/crud/.
Si muestra una pantalla como la siguiente, podemos seguir adelante.
Ahora tenemos que crear una base de datos y una tabla donde podremos guardar la
información necesaria para la administración de inventarios.
Para hacer eso necesitamos realizar los siguientes pasos:
1. Ir a la direccion http://localhost/phpmyadmin.
2. Crear una nueva base de datos llamada crud_db.
3. Ingresamos a la base creada desde el panel de la izquierda.
4. Creamos una tabla llamda productos y agreamos 7 campos.
5. Empezamos a añadir los campos necesarios, en este ejemplo crearemos una pequeña
tabla con lo siguiente:
id tipo entero (debe ser llave primaria y autoincrementable)
proveedor tipo varchar con una longitud de 50 caracteres.
nombre tipo varchar con una longitud de 128 caracteres.
descripcion tipo varchar con una longitud de 250 caracteres.
precio_compra tipo float
precio venta tipo float
exitencia tipo int
Para hacer llave primaria y autoincrementable el campo id de la tabla es necesario seleccionar
de la lista despegable la opción PRIMARY y activar el checkbox A_I.
6. Le damos clic en guardar y ya tendremos nuestra base de datos lista para comenzar a
meterle información.
Bien, ya con esto podemos comenzar a configurar y preparar CodeIgniter para poder
desarrollar nuestra aplicación.
Ahora abrimos nuestra carpeta crud y tendrá la siguiente estructura:
Nosotros tenemos que modificar dos archivos antes de continuar, primero abrimos el
archivo /crud/application/config/config.php.
Y complementamos la información que falta para que quede así:
1 $config['base_url'] = 'http://localhost/crud';De esta forma le decimos que la url base de nuestra aplicación sera http://localhost/crud/.
Una vez realizado esto, necesitamos conectar la base de datos, para ello abrimos el
archivo /crud/application/config/database.php y complementamos lo siguiente.
1234
$db['default']['hostname'] = 'localhost';$db['default']['username'] = 'root';$db['default']['password'] = 'root';$db['default']['database'] = 'crud_db';
Aquí lo que hicimos fue conectar la base de datos previamente creada a nuestra aplicación.
Ahora vamos a definir una ruta principal, para ello editamos el
archivo /crud/application/config/routes.php de tal forma que tiene que quedar así.
1 $route['default_controller'] = "productos";Teniendo todo configurado ahora estamos listos para instalar Grocery Crud, tenemos que
descargar la ultima versión del siguiente enlace:
http://www.grocerycrud.com/downloads
Una vez descargada descomprimimos el archivo y quedara algo como esto.
Y después haremos lo siguiente:
1. Copiamos la carpeta /assets a nuestra carpeta /crud/.
2. De la carpeta de grocery ingresamos /application/config y copiamos grocery_crud.php
a la carpeta /crud/application/config/.
3. De la carpeta /application/libraries copiamos los dos archivos a la
carpeta/crud/application/libreries/.
4. Y finalmente copiamos grocery_crud_model.php de la carpeta /application/models a la
carpeta /crud/application/models/.
Ahora que hemos copiado los archivos necesarios, debemos de crear 2 archivos más para
que la aplicación funcione.
Controlador: se encargará de cargar la librería y generar las reglas necesarias para
crear el CRUD.
Vista: Dara el formato de salida necesario.
En la carpeta /crud/application/controllers/ necesitamos crear un archivo nuevo y llamarlo
productos.php, a este le agregamos el siguiente código:
1234567891011121314151617181920212223242
<?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 */
5262728293031323334353637383940414243444546474849505152535455
$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()); } }}
5657585960616263646566676869707172737475767778798081828384
Después en la carpeta /crud/aplications/views/ creamos una carpeta llamada productos
y allí creamos un archivo llamado administracion.php, la ruta final
será /crud/aplications/views/productos/administracion.php y agregamos el siguiente código:
123456789101112131415161718192021222324252627282
<!DOCTYPE html><html><head><meta charset="utf-8" /><title>Administracion Productos - Sourcezilla</title><?phpforeach($css_files as $file): ?><link type="text/css" rel="stylesheet" href="<?php echo $file; ?>" /><?php endforeach; ?><?php foreach($js_files as $file): ?><script src="<?php echo $file; ?>"></script><?php endforeach; ?><style type='text/css'>body{font-family: Arial;font-size: 14px;}a {color: blue;text-decoration: none;font-size: 14px;}a:hover{text-decoration: underline;}</style></head><body><h1>Administración de Productos</h1><div><?php echo $output; ?></div></body></html>
930313233343536Con esto ya tendremos una pequeña aplicación para el manejo de inventarios desde una
plataforma web, aunque el proyecto es muy básico ustedes pueden complementarlo con
muchas cosas más.
Dejo unas capturas finales.
Descarga los archivos del tutorial aquí