app\Models\ContactoModel.php
<?php
namespace App\Models;
use CodeIgniter\Model;
class ContactoModel extends Model
{
protected $table = 'contactos';
protected $primaryKey = 'id';
protected $allowedFields = ['nombre', 'apellidos', 'celular'];
}
app\Controllers\Contacto.php
<?php
namespace App\Controllers;
use App\Models\ContactoModel;
class Contacto extends BaseController
{
public function index()
{
return view('menu');
}
public function listar()
{
$modelo = new ContactoModel();
$data['contactos'] = $modelo->findAll();
return view('contacto/listar', $data);
}
public function crear()
{
return view('contacto/crear');
}
public function guardar()
{
$modelo = new ContactoModel();
$data = [
'nombre' => $this->request->getPost('nombre'),
'apellidos' => $this->request->getPost('apellidos'),
'celular' => $this->request->getPost('celular'),
];
$modelo->insert($data);
return redirect()->to(MI_BASE_URL.'listar');
}
public function editar($id)
{
$modelo = new ContactoModel();
$data['contacto'] = $modelo->find($id);
return view('contacto/editar', $data);
}
public function actualizar($id)
{
$modelo = new ContactoModel();
$data = [
'nombre' => $this->request->getPost('nombre'),
'apellidos' => $this->request->getPost('apellidos'),
'celular' => $this->request->getPost('celular'),
];
$modelo->update($id, $data);
return redirect()->to(MI_BASE_URL.'listar');
}
public function eliminar($id)
{
$modelo = new ContactoModel();
$modelo->delete($id);
return redirect()->to(MI_BASE_URL.'listar');
}
}
app\Views\menu.php
<h1>Menú de Contactos</h1>
<ul>
<li><a href="<?= MI_BASE_URL.'listar' ?> ">Listar Contactos</a></li>
<li><a href="<?= MI_BASE_URL.'crear' ?> ">Crear Contacto</a></li>
</ul>
app\Views\contacto\crear.php
<h1>Crear Contacto</h1>
<form action="<?= MI_BASE_URL.'guardar' ?>" method="post">
<label for="nombre">Nombre:</label>
<input type="text" id="nombre" name="nombre"><br><br>
<label for="apellidos">Apellido:</label>
<input type="text" id="apellidos" name="apellidos"><br><br>
<label for="celular">Celular:</label>
<input type="text" id="celular" name="celular"><br><br>
<input type="submit" value="Crear">
</form>
app\Views\contacto\editar.php
<h1>Editar Contacto</h1>
<form action="<?= MI_BASE_URL.'actualizar/'.$contacto['id'] ?>" method="post">
<label for="nombre">Nombre:</label>
<input type="text" id="nombre" name="nombre" value="<?= $contacto['nombre'] ?>"><br><br>
<label for="apellidos">Apellido:</label>
<input type="text" id="apellidos" name="apellidos" value="<?= $contacto['apellidos'] ?>"><br><br>
<label for="celular">Celular:</label>
<input type="text" id="celular" name="celular" value="<?= $contacto['celular'] ?>"><br><br>
<input type="submit" value="Actualizar">
</form>
app\Views\contacto\listar.php
<h1>Listado de Contactos</h1>
<table>
<tr>
<th>Nombre</th>
<th>Apellido</th>
<th>Celular</th>
<th>Acciones</th>
</tr>
<?php foreach ($contactos as $contacto) : ?>
<tr>
<td><?= $contacto['nombre'] ?></td>
<td><?= $contacto['apellidos'] ?></td>
<td><?= $contacto['celular'] ?></td>
<td>
<a href="<?= MI_BASE_URL.'editar/'.$contacto['id'] ?>">Editar</a>
<a href="<?= MI_BASE_URL.'eliminar/'.$contacto['id'] ?>">Eliminar</a>
</td>
</tr>
<?php endforeach ?>
</table>
app\Config\Routes.php
<?php
use CodeIgniter\Router\RouteCollection;
/**
* @var RouteCollection $routes
*/
$routes->get('/', 'Contacto::index');
$routes->get('/listar', 'Contacto::listar');
$routes->get('/crear', 'Contacto::crear');
$routes->post('/guardar', 'Contacto::guardar');
$routes->get('/editar/(:num)', 'Contacto::editar/$1');
$routes->post('/actualizar/(:num)', 'Contacto::actualizar/$1');
$routes->get('/eliminar/(:num)', 'Contacto::eliminar/$1');
No hay comentarios.:
Publicar un comentario