Mini Proyecto: Reporte de Errores Vol. III

Bienvenidos amigos una semana más a nuestro querido blog. Hoy continuaremos la saga del mini proyecto Reporte de Errores. Para los despistados, os dejo los enlaces de los rooties anteriores:

Mini Proyecto: Reporte de Errores Vol. I
Mini Proyecto: Reporte de Errores Vol. II

Resumen del proyecto hasta ahora, reporte de errores v0.1

Estado actual del proyecto:

  • Instalación de un servidor local ✓
  • Análisis del proyecto ✓
  • Creación de la base de datos ✓
  • Conexión del framework PHP a la base de datos ✓
  • Creación de tablas en la base de datos ✓
  • Maquetación del Front-End ✓

Creación de usuarios

Recordamos que un bug estará asociado a un usuario (el que lo reporta). Establecimos una restricción de clave foránea para ello. Por lo tanto, lo primero que tendremos que hacer será crear un par de usuarios ejecutando la siguiente consulta:

Empieza la magia.

Conectando Modelo – Controlador – Vista

Necesitamos que el selector de usuario de nuestra vista muestre los dos usuarios que acabamos de crear.

Para ello lo primero es crear el modelo de la aplicación. En la carpeta application/models crearemos un archivo llamado Mbugs.php que contrendrá el siguiente código:

Ahora en el controlador que ya teníamos creado (Welcome.php) debemos añadir la dependencia del modelo en el constructor

De esta forma ahora podremos invocar los métodos del modelo de la siguiente manera

Por último, debemos manejar los datos en la vista para añadir los usuarios a nuestro desplegable:

Resultado de todo esto:

usuarios

Enviando el error

Vamos a servirnos de jQuery y la tecnología AJAX para enviar los datos del formulario a nuestro controlador, donde los procesaremos y guardaremos en nuestra base de datos.

En primer lugar preparamos el controlador para recibir los tres parámetros del formulario (user, title y description) y enviarlos al modelo:

Ahora en nuestro modelo creamos el método setBug y realizamos la inserción en la base de datos:

Perfecto. Ahora nos falta el pegamento que une nuestra bonita vista con todo este jaleo del controlador y el modelo. Como hemos mencionado, enviaremos asíncronamente la información del formulario al controlador. Para ello he desarrollado este trozo de javascript que cumple dicha función:

Una vez hemos terminado todos los pasos anteriores, vamos a probar a enviar un bug a nuestro nuevo sistema:

bug

 

Os dejo el directorio completo del desarrollo hasta ahora del proyecto. >> DESCARGAR <<

En el siguiente rootie continuaremos el proyecto, ¡que paséis buena semana!

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *