Blog de tecnología, desarrollo de aplicaciones web, sistemas operativos, etc.
3. Sistema Web para Cafetería con MVC – Modulo de Productos
Parte 1 – Nuevo Producto
Tabla productos de la BD
Esta es la estructura de la tabla de productos.
Para crear un nuevo producto, seleccionamos la Opcion Nuevo producto del menú Administración.
Al dar click en esta opción solicitaremos cargar una sección llamada nuevo_producto.php
nuevo_producto.php
La sección nuevo_producto.php invoca al método nuevoProducto() de ControladorProductos, el cual recibe la información que se introduce en el formulario
Método nuevoProducto() – ControladorProductos
El método nuevoProducto() recibe los datos de la vista e invoca al método insertProducto() del ModeloProductos
***** La Linea señalada en la imagen hace referencia a la clase que utilizaremos mas adelante para cargar imágenes del producto.
Método insertProducto() – ModeloProductos
El método inserProducto() realiza una acción de insert sobre la BD en la tabla productos, y devuelve un true en caso de insert correcto.
Parte 2 – Administración de Productos
Al igual que usuarios, en productos tenemos opciones dentro del menú Administración, una es Nuevo Producto y la otra es Ver Productos.
La Opción Ver listado de productos no invoca a una sección lista_productos, la cual nos muestra una tabla con el listado de productos que tenemos agregados en la BD
Al igual que para los usuarios, tenemos una Clase ControladorProductos y otra clase ModeloProductos, dentro de las cuales esta definidos los métodos necesarios para las acciones CRUD de la entidad Productos.
Seccion lista_productos.php
La sección lista_productos contiene la llamada al método listaProductos() del ControladorProductos, el cual permite obtener la lista de productos en forma de tabla.
lista_productos.php
Método listaProductos() – ControladorProductos
El método listaProductos() de ControladorProductos invoca al método selectProductos() del ModeloProductos, el cual hace la consulta a la BD a la tabla productos.
Método selectProductos() – ModeloProductos
selectProductos() hace una consulta general sobre la tabla productos y devuelve un ARRAY con los datos a la seccion lista_productos.php
Parte 3 – Actualizar Productos
Para actualizar los productos, dentro de la sección lista_productos.php tenemos al llamada al método listaProductos() del ControladorProductos.
en la Linea señalada, estamos generando el enlace Editar para cada producto de la tabla, lo que produce que al dar click en dicho enlace, tengamos en la URL una nueva sección, detalle_producto y el id del producto que solicitamos editar.
detalle_producto.php
Así invocamos a la sección detalle_productos.php que es un formulario que despliega la información correspondiente al id que también pasamos por la URL, haciendo uso del método getProductoId() del ControladorProductos.
detalle_producto.php
El método getProductoId() del ControladorProducto por su parte utiliza el id recibido en la URL para invocar al método selectProductoId() del ModeloProductos.
Método getProductoId() – ControladorProductos
Este método invoca a su vez al método selectProductoId() de ModeloProductos y le pasa el nombre de la tabla y el id del producto que deseamos editar.
Método selectProductoId() -ModeloProductos
Este método se encarga de consultar la tabla productos por Id y devolver un ARRAY con la información del producto.
Método updateProducto() – ControladorProductos
En la linea 3 de está sección, invocamos al método updateProducto() del ControladorProductos, el cual recibe toda la nueva información del producto, y se la pasa al método correspondiente del ModeloProductos para hacer el UPDATE
Método updateProducto() – ModeloProductos
Este método recibe finalmente el array con la nueva información del producto y ejecuta el UPDATE sobre la BD, en cado de UPDATE correcto, retorna un true.