Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
con CodeIgniter!
copypastereference.wordpress.com /2012/03/07/crud-mantenimiento-basico-de-una-tabla-concodeigniter/
Tutorial Android; Accelerometro.
Enviar un mail desde Java
Saludos. Me estreno con este tutorial paso a paso de un pequeo mantenimiento de una tabla utilizando
el Framework de PHP CodeIgniter. Sin ms demora, vamos a ello.
REQUISITOS
1. Descargar e instalar XAMPP
2. Descargar CodeIgniter
TIEMPO ESTIMADO
El tiempo estimado para la realizacin de este tutorial es de 45min / 01:15 horas.
PASO 2 Configuracin
PASO 2.1 Creando la Base de Datos.
1. Abrimos el navegador y nos dirigimos a http://localhost/xampp/, creamos una base de datos que
se llame CPRCRUD (Copy Paste Reference CRUD).
2. En la base de datos que acabamos de crear, insertamos esta pequea tabla:
<?php
class Mantenimiento_model extends CI_Model {
function Mantenimiento_model() {
parent::__construct(); //llamada al constructor de Model.
}
function getData() {
$usuarios = $this->db->get('contacto'); //obtenemos la tabla 'contacto'. db>get('nombre_tabla') equivale a SELECT * FROM nombre_tabla.
return $usuarios->result(); //devolvemos el resultado de lanzar la query.
}
}
?>
<html>
<head>
<title><?=$page_title?></title>
</head>
<body>
<form name="tabla" action="" method="POST">
<table border="solid">
<thead>
<tr>
<th></th>
<th>Nombre</th>
<th>Telefono</th>
<th>Email</th>
<th>Direccion</th>
</tr>
</thead>
<tbody>
<?php foreach ($usuarios as $u):?>
<tr>
<td><input type="radio" name="editar" value="<?=$u->idContacto?>"/>
</td>
<td><?=$u->Nombre?></td>
<td><?=$u->Telefono?></td>
<td><?=$u->Email?></td>
<td><?=$u->Direccion?></td>
</tr>
<?php endforeach;?>
</tbody>
</table>
<input type="submit" value="Editar" />
</form>
</body>
</html>
PASO 7 Alta.
En nuestra vista, agregamos el siguiente contenido:
<p></p>
<form name="alta" action="http://localhost/crud/index.php/mantenimiento/alta"
method="POST">
<table>
<tr>
<td>Nombre</td>
<td><input type="text" name="txtNombre" /></td>
</tr>
<tr>
<td>Telefono</td>
<td><input type="text" name="txtTelefono" /></td>
</tr>
<tr>
<td>Email</td>
<td><input type="text" name="txtEmail" /></td>
</tr>
<tr>
<td>Direccion</td>
<td><input type="text" name="txtDireccion" /></td>
</tr>
</table>
<input type="submit" value="Alta"/>
</form>
En nuestro controlador agregamos la siguiente funcin:
function alta() {
//recogemos los datos obtenidos por POST
$data['nombre'] = $_POST['txtNombre'];
$data['email'] = $_POST['txtEmail'];
$data['telefono'] = $_POST['txtTelefono'];
$data['direccion'] = $_POST['txtDireccion'];
//llamamos al modelo, concretamente a la funcin insert() para que nos haga
el insert en la base de datos.
$this->load->model('mantenimiento_model');
$this->mantenimiento_model->insert($data);
//volvemos a visualizar la tabla
$this->index();
}
En nuestro modelo agregamos la siguiente funcin:
function insert($data) {
$this->db->set('Nombre', $data['nombre']);
$this->db->set('Email', $data['email']);
$this->db->set('Telefono', $data['telefono']);
$this->db->set('Direccion',
$data['direccion']);
$this->db->insert('contacto');
}
A estas alturas, deberamos poder insertar registros desde la vista.
PASO 8 Baja.
En nuestra vista, agregamos el siguiente formulario para realizar la baja:
<p>BAJA</p>
<form name="alta" action="http://localhost/crud/index.php/mantenimiento/baja"
method="POST">
<table>
<tr>
<td>Nombre: </td><td><input name="txtNombre" type="text"/></td>
</tr>
</table>
<input type="submit" value="Borrar" />
</form>
Agregamos la funcin baja a nuestro controlador:
function baja() {
//obtenemos el nombre
$nombre = $_POST['txtNombre'];
//cargamos el modelo y llamamos a la funcin baja(), pasndole el nombre del
registro que queremos borrar.
$this->load->model('mantenimiento_model');
$this->mantenimiento_model->baja($nombre);
//mostramos la vista de nuevo.
$this->index();
}
Y agregamos la siguiente funcin al modelo:
function baja ($nombre) {
$this->db->where('Nombre',
$nombre);
$this->db->delete('contacto');
}
Ahora deberamos poder borrar registros utilizando, de nuestra vista, el formulario baja.
PASO 9 Modificacin.
Primero, en nuestro formulario tabla (dentro de la vista, el primer formulario que hemos creado), le
agregamos el action que, hasta ahora, ha estado vaco.
<form name="tabla"
action="http://localhost/crud/index.php/mantenimiento/accion" method="POST">
Hecho esto, dentro del controlador agregaremos la funcin accion y editar:
function accion() {
//cargamos el modelo y obtenemos la informacin del contacto seleccionado.
$this->load->model('mantenimiento_model');
$data['usuario'] = $this->mantenimiento_model>obtenerContacto($_POST['editar']);
//cargamos la vista para editar la informacin, pasandole dicha informacin.
$this->load->view('edit', $data);
}
function editar() {
//recogemos los datos por POST
$data['id'] = $_POST['id'];
$data['nombre'] = $_POST['txtNombre'];
$data['email'] = $_POST['txtEmail'];
$data['telefono'] = $_POST['txtTelefono'];
$data['direccion'] = $_POST['txtDireccion'];
//cargamos el modelo y llamamos a la funcin update()
$this->load->model('mantenimiento_model');
$this->mantenimiento_model->update($data);
//volvemos a cargar la primera vista
$this->index();
}
Agregamos al modelo la funcion obtenerContacto:
function obtenerContacto($idContacto) {
$this->db->select('Nombre, Email, Telefono, Direccion,
idContacto');
$this->db->from('contacto');
$this->db->where('idContacto = ' . $idContacto);
$contacto = $this->db->get();
return $contacto->result();
}
A continuacin, crearemos una nueva vista con el nombre edit.php. Su contenido ser el siguiente:
<html>
<head>
<title><?=$page_title?></title>
</head>
<body>
<form name="editar"
action="http://localhost/crud/index.php/mantenimiento/editar" method="POST">
<table>
<tr>
<td>Nombre: </td><td><input name="txtNombre" value="<?=$usuario[0]->Nombre?>"
type="text"/></td>
</tr>
<tr>
<td>Email: </td><td><input name="txtEmail" value="<?=$usuario[0]->Email?>"
type="text"/></td>
</tr>
<tr>
<td>Telefono: </td><td><input name="txtTelefono" value="<?=$usuario[0]>Telefono?>" type="text"/></td>
</tr>
<tr>
<td>Direccion: </td><td><input name="txtDireccion" value="<?=$usuario[0]>Direccion?>" type="text"/></td>
</tr>
</table>
<input type="hidden" name="id" value="<?=$usuario[0]->idContacto?>"/>
<input type="submit" value="Editar" />
</form>
</body>
</html>
Por ltimo, al modelo le agregamos la siguiente funcin:
function update($data) {
$this->db->set('Nombre', $data['nombre']);
$this->db->set('Email', $data['email']);
$this->db->set('Telefono', $data['telefono']);
$this->db->set('Direccion',
$data['direccion']);
$this->db->where('idContacto', $data['id']);
$this->db->update('contacto');
}
Una vez hecho todo esto, ya podramos poder hacer el mantenimiento bsico de una tabla.