Vous êtes sur la page 1sur 13

allshorevirtualstaffing.

com
http://www.allshorevirtualstaffing.com/how-to-develop-basic-crud-operations-in-codeigniter/#.Ve9Zj6LhC70

Cómo desarrollar operaciones básicas CRUD en CodeIgniter

Hoy voy a demostrar la instalación básica de CodeIgniter, un Marco de PHP, y un simple ejemplo de la construcción
de un CRUD (Create, Read / Recuperar, Actualizar y Eliminar) con él.

Pre-requisitos
Se supone que tiene un nivel básico de comprensión de lo siguiente:
PHP, MySQL, programación orientada a objetos, MVC

Instalación
Descargar
Para trabajar con CodeIgniter, tenemos que descargar su última versión (2.1.4 en el momento de escribir estas
líneas) de su enlace de descarga en http://ellislab.com/codeigniter.
WAMP entorno de servidor
Se necesita un entorno con un mínimo de Apache y PHP para trabajar con CodeIgniter. Para una plataforma
Windows, pila servidor WAMP es fácilmente disponible y sus .exe puede configurar el entorno en unos pocos
segundos. Configuración del servidor WAMP se puede descargar desde http://www.wampserver.com/en/.
Configurar
Una vez instalado el servidor WAMP, por favor descomprima el archivo descargado CodeIgniter y cambiar el nombre
de la carpeta a "cisample", que contendrá las carpetas de aplicaciones, sistemas y user_guide, junto con algunos
otros archivos.
Ahora coloque esta carpeta cisample dentro carpeta C: \ WAMP \ www. Se supone que el WAMP está instalado en
su ubicación predeterminada. Si no es así, por favor, vuelva a ajustar la ruta en consecuencia.
Configuraciones
En esta sección, vamos a configurar los ajustes de la base de datos para ayudar a construir esta muestra CRUD
rápidamente, pero con la facilidad de uso características, reutilización y de seguridad. También vamos a configurar

en primer lugar crear una base de datos en el servidor de base de datos MySQL. cambio de $ autocarga ['bibliotecas'] = array ().php.php. Ejemplo de Introducción y tabla de base de datos Estructura Este ejemplo demostrará una sencilla CRUD Lista de tareas pendientes. y el detalle. Hay un par de opciones necesarias en C: \ WAMP \ www \ cisample \ application \ config \ autoload. a $ autocarga ['bibliotecas'] = array ('base de datos').php?id=45 URL Limpio: http://www.php. El primer archivo de configuración de las configuraciones es C: \ WAMP \ www \ cisample \ application \ config \ config.php. El nombre de host de base de datos.algunos otros ajustes para beneficiarse de las bibliotecas centrales de este marco. no es necesario cambiar la dirección URL. a $ autocarga ['herper'] = array ('url'. "forma"). Para la configuración de base de datos. Establezca la URL base a http: // localhost / cisample. Auto carga de bibliotecas y ayudantes hace la vida más fácil a medida que uno no tiene que cargar las bibliotecas y ayudantes cada uno y cada vez que se necesitan.com/page/id/45 La URL normal tiene un '?' (Consulta cadena de caracteres) en la dirección URL que no es ni el usuario ni el motor de búsqueda. Todos los ajustes relacionados con la base de datos se puede configurar dentro de C: \ WAMP \ www \ cisample \ application \ config \ database. Se cargan automáticamente las configuraciones anteriores en el archivo autoload.com/page. La otra ventaja de URLs limpias es que si el recurso que proporciona la funcionalidad de esta URL cambia. ¿Cuáles son las URL limpias? Para entender esto nos fijamos en dos ejemplos diferentes de direcciones URL: URL normal: http://www. título. El nombre de las columnas será la identificación. Considerando que el URL Clean parece más limpio y no es sólo el usuario sino también los motores de búsqueda. El nombre de la base de datos será "cisample_db" (sin comillas). .example. Esto hará que las URLs limpias. nombre de usuario.php" de los contenidos de esta línea: 1 $config['index_page'] = 'index. Eliminar "index. contraseña y base de datos son los parámetros necesarios para establecer la conexión entre CodeIgniter y el servidor de base de datos.example.php' Me gusta esto: 1 $config['index_page'] = ''. También usará una sencilla tabla de tres columnas para sostener los elementos de tareas. Para cargar la biblioteca de base de datos. Para cargar la URL y formar ayudantes. el cambio $ autocarga ['ayudante'] = array ().

$data). 4 `description` text NOT NULL. 6 PRIMARY KEY (`id`) 3. 2. 18 } 19 public function view() 20 { 21 $id = $this->uri->segment(3). 5 `completed` int(1) NOT NULL.Es el momento de sumergirse directamente en el código. . 9 } 10 11 public function index() 12 { 13 $data['title'] = 'To-Dos List'. Crear una tabla en la base de datos con la siguiente consulta: 1 CREATE TABLE IF NOT EXISTS `todos` ( 2 `id` int(11) NOT NULL AUTO_INCREMENT. 17 $this->load->view('templates/footer'). Inicie el entorno WAMP.php" para las tareas pendientes con el siguiente código: 1 <?php 2 class Todos extends CI_Controller { 3 4 public function __construct() 5 { 6 parent::__construct(). 15 $this->load->view('templates/header'. Cree un archivo de controlador "application / controllers / todos. 16 $this->load->view('todos/index'. 14 $data['todos'] = $this->todo_model->get_todos(). 7 $this->load->library('form_validation'). 8 $this->load->model('todo_model'). 3 `title` varchar(255) NOT NULL. $data). 1.

25 } 26 $data['title'] = 'View a To-do item'. 27 $data['todo'] = $this->todo_model->get_todos($id). 'required'). 38 if ($this->form_validation->run() === FALSE) 39 { 40 $this->load->view('templates/header'. 28 $this->load->view('templates/header'. 48 } 49 } 50 public function edit() 51 { 52 $id = $this->uri->segment(3). 41 $this->load->view('todos/create'). 29 $this->load->view('todos/view'.22 if (empty($id)) 23 { 24 show_404(). 30 $this->load->view('templates/footer'). $data). 'required'). $data). 'Description'. $data). 31 32 } 33 public function create() 34 { 35 $data['title'] = 'Create a To-do item'. 43 } 44 else 45 { 46 $this->todo_model->set_todos(). 37 $this->form_validation->set_rules('description'. 53 if (empty($id)) . 36 $this->form_validation->set_rules('title'. 42 $this->load->view('templates/footer'). 'Title'. 47 $this->load->view('todos/success').

81 redirect( base_url() . 'todos'). 79 } 80 $this->todo_model->completed($id). 82 } 83 } 84 85 .54 { 55 show_404(). 76 if (empty($id)) 77 { 78 show_404(). 'Description'. 61 if ($this->form_validation->run() === FALSE) 62 { 63 $this->load->view('templates/header'. 66 } 67 else 68 { 69 $this->todo_model->set_todos($id). 59 $this->form_validation->set_rules('title'. $data). 65 $this->load->view('templates/footer'. $data). 70 redirect( base_url() . 'required'). 'todos'). 64 $this->load->view('todos/edit'. $data). 58 $data['todo'] = $this->todo_model->get_todos($id). 'Title'. 71 } 72 } 73 public function completed() 74 { 75 $id = $this->uri->segment(3). 56 } 57 $data['title'] = 'Edit a To-do item'. 60 $this->form_validation->set_rules('description'. 'required').

. procesa la entrada a través de reglas de validación e inserta un nuevo registro en la base de datos sobre el envío de formularios. excepto que carga los datos de tareas pendientes en un formulario para editar y después actualiza el elemento de tarea en la base de datos.86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 El método del índice establece el título de la página. El método de edición hace lo mismo que el método de ver. El método create presenta al usuario una forma de crear una tarea pendiente. entonces se lanza una página 404 u obtiene el elemento de tarea desde el modelo basado en la identificación y cargas "vista" de tareas para mostrar los detalles de tareas artículo. se carga toda la tareas pendientes del modelo y carga la vista del índice para mostrar la lista de todas las tareas pendientes. la comprobación para ver si el ID está vacío o no. Si está vacío. El método de "vista" obtiene el ID de tareas pendientes de la URL.

php" con el siguiente código: 1 <?php 2 class Todo_model extends CI_Model { 3 4 public function __construct() 5 { 6 $this->load->database(). 18 return $query->row_array(). 7 } 8 9 10 public function get_todos($id = 0) 11 { 12 if ($id === 0) 13 { 14 $query = $this->db->get_where('todos'. 23 $data = array( 24 'title' => $this->input->post('title'). 27 if ($id === 0) { 28 return $this->db->insert('todos'. Crear un archivo de modelo "application / modelos / todo_model.El método de "completo" actualiza el registro basado en el ID pasado en la URL para completar el proceso. array('id' => $id)). $data). 19 } 20 public function set_todos($id = 0) 21 { 22 $this->load->helper('url'). 15 return $query->result_array().array('completed' => 0)). 26 ). 4. 25 'description' => $this->input->post('description'). 29 } . 16 } 17 $query = $this->db->get_where('todos'.

$data). se obtiene el punto primero de tareas sobre la base de ese ID. 32 return $this->db->update('todos'. 33 } 34 } 35 public function completed($id) 36 { 37 $data = array( 38 'completed' => 1 39 ). $data). 43 } 44 } 45 46 47 48 49 50 51 52 53 54 55 56 57 58 El método get_todos obtiene toda la tareas pendientes de la base de datos si no se pasa ningún ID. $id). 42 $this->db->update('todos'. 40 41 $this->db->where('id'. o si se pasa un ID. El método set_todos inserta nuevos datos en la base de datos para el almacenamiento permanente si no se pasa .30 else { 31 $this->db->where('id'. $id).

El método completado marca un registro completo en la base de datos.php . 5.php 1 foreach ($todos as $todo): ?> 2 3 <h2> echo $todo['title'] ?></h2> 4 <div id="list"> 5 6 echo $todo['description'] ?> </div> 7 8 <a href=" echo base_url(). ?>todos/completed/ echo $todo['id'] ?>">Completed</a> 11 <hr> 12 endforeach ?> b) create. ?>todos/edit/ echo $todo['id'] ?>">Edit</a> | 10 <a href=" echo base_url(). ?>todos/view/ echo $todo['id'] ?>">View</a> | 9 <a href=" echo base_url().ningún ID. Crear los siguientes archivos de vista en su views / directorio de la aplicación / todos / con su respectivo código: a) index. o actualiza los datos existentes en la base de datos si se pasa un ID.

1 <h2>Create a To-do item</h2> 2 3 echo validation_errors().php 1 <h2>Create a To-do item</h2> 2 3 echo validation_errors(). ?> 4 5 echo form_open('todos/create') ?> 6 7 <label for="title">Title: </label> 8 <input type="input" name="title" /> 9 10 <label for="text">Description: </label> 11 <textarea name="description"></textarea> 12 <input type="submit" name="submit" value="Create" /> 13 14 </form> 15 c) edit. ?> 4 5 echo form_open('todos/create') ?> 6 7 <label for="title">Title: </label> 8 <input type="input" name="title" /> 9 10 <label for="text">Description: </label> 11 <textarea name="description"></textarea> 12 <input type="submit" name="submit" value="Create" /> 13 14 15 </form> .

htaccess en el directorio cisample dentro de su directorio web raíz con el siguiente código de URL como http: // localhost / cisample / Todos: 1 RewriteEngine On 2 RewriteCond %{REQUEST_FILENAME} !-f 3 RewriteCond %{REQUEST_FILENAME} !-d 4 RewriteRule ^(. 9. 2 $db['default']['username'] = 'root'.php 1 <h2> echo $todo['title'] ?></h2> 2 <div id="list"> 3 echo $todo['description'] ?> 4 </div> e) Success. 2 $config['index_page'] = ''. 7. 3 $route['todos/edit/(:any)'] = 'to-dos/edit/$1'. 4 $db['default']['database'] = 'cisample_db'.php para Todos: 1 $config['base_url'] = 'http://localhost/cisample/'. la mía se fijan a los valores predeterminados así: 1 $db['default']['hostname'] = 'localhost'.php dependiendo de la configuración del servidor de bases de datos.d) view. 5 $route['todos'] = 'to-dos'.php 1 Data inserted 6.*)$ index. Ajuste los siguientes parámetros en su application / config / database. 2 $route['todos/view/(:any)'] = 'to-dos/view/$1'.php para Todos en caso de que quisiera que los de fantasía / diferentes direcciones URL de sus recursos de la aplicación: 1 $route['todos/create'] = 'to-dos/create'.php/$1 [L] . Crear un archivo . 8. 4 $route['todos/completed/(:any)'] = 'to-dos/completed/$1'. Realice los siguientes cambios en su application / config / config. Inserte las siguientes líneas en su application / config / routes. 3 $db['default']['password'] = ''.

Crear cada uno de los siguientes archivos en el directorio application / views / plantillas con su respectivo código de plantilla: a) header. contratar ingenieros de software a distancia para trabajar como empleados de tiempo completo. CRUD es el primer paso en el aprendizaje de cualquier nueva tecnología cuando se trata de bases de datos. ?> 3 </strong> 4 </body> 5 </html> 12. Ahora compruebe la configuración del servidor web Apache para asegurarse de que está cargado el módulo mod_rewrite. Carga tu lista de Todos con http: // localhost / cisample / todos.php 1 <html> 2 <head> 3 <title> echo $title ?> . 11. Usted encontrará las áreas de CodeIgniter tan fácil como este tutorial. y alentamos a nuestros empleados a contribuir con contenido como this. Oklahoma. Bio Últimos mensajes Khurram K.10.UU. Contacto Allshore hoy para programar una llamada de consulta gratuita con un especialista en la dotación de personal a distancia o solicitar una prueba gratuita . Haciendo un CRUD utilizando CodeIgniter es a la vez fácil y más divertido de lo que parece. Feliz CodeIgniting! Las dos fichas siguientes cambian el contenido a continuación. display:inline-block} 5 </head> 6 <body> 7 <h1 align="center">CodeIgniter Sample Site</h1> b) footer.php 1 <strong> 2 echo date('Y'). Puede pasar de aquí para explorar más áreas y ser más cómodo con CodeIgniter.Allshore es una agencia de personal remoto ayudando nuevas empresas en los EE.CodeIgniter Sample</title> 4 label{width:75px. PHP Team Lead en Allshore Staffing virtual Somos una empresa de colaboración en Allshore Staffing virtual. Allshore ofrece todo el apoyo técnico y de gestión a través de nuestros servicios a los clientes y los equipos de tecnología de tutoría basada en Norman.

de nuestros servicios. .