/** * Actualiza un producto de la BBDD de MySQL en función de los datos enviados por parámetro al Guardar cambios. * Esta actualización puede consistir en borrar el producto de la BBDD o en modificar sus datos. * @param object $request -> Datos provenientes del $_GET de 'Nuevo producto' y 'Buscar producto' y del $_POST de 'Producto' * @param object $imagen -> Archivo que se ha almacenado en la varible $_FILES en el formulario. */ public function actualizarProductos($request, $imagen) { // BORRAR if (isset($request["borrar"])) { echo Html::p("Se ha BORRADO el producto con ID {$request["codigo"]} con éxito.", "mensaje_correcto"); $this->BBDD->DeleteFrom("productos", "id_producto={$request["codigo"]}"); } else { if (isset($request["nuevo_producto"])) { // VALIDACIONES $valida_nombre = validarNumCar($request["nombre"], 20); $valida_precio = validarRango($request["precio"], 1, 999999); $valida_descuento = validarRango($request["descuento"], 0, 90); $valida_caracteristicas = validarNumCar($request["caracteristicas"], 200); $todo_correcto = $valida_nombre && $valida_precio && $valida_descuento && $valida_caracteristicas ? true : false; // Valida imagen, pero no es necesaria en '$todo_correcto' $crear_producto = true; $img = cargarImagen($imagen, $request["codigo"], $crear_producto); if ($todo_correcto) { echo Html::p("Se ha CREADO el producto con ID {$request["codigo"]} con éxito.", "mensaje_correcto"); $nuevo = $request["tipo_producto"] == "nuevo" ? "true" : "false"; // OJO!!! Asegurarse del tipo de dato que se está insertando en la BBDD. Tipo string deben estar cerrados entre comillas simples ''; $this->BBDD->InsertInto("productos", "id_producto, id_categoria, nombre, imagen, precio, descuento, nuevo, caracteristicas", "{$request["codigo"]}, {$request["categoria"]}, '{$request["nombre"]}', '{$img}', {$request["precio"]}, {$request["descuento"]}, {$nuevo}, '{$request["caracteristicas"]}'"); } else { echo Html::p("Debido al error o errores anteriores NO se ha creado el producto con ID {$request["codigo"]} con éxito.", "error"); } } else { if (isset($request["id_modificar_producto"])) { // VALIDACIONES $valida_nombre = validarNumCar($request["nombre"], 20); $valida_precio = validarRango($request["precio"], 1, 999999); $valida_descuento = validarRango($request["descuento"], 0, 90); $valida_caracteristicas = validarNumCar($request["caracteristicas"], 200); $todo_correcto = $valida_nombre && $valida_precio && $valida_descuento && $valida_caracteristicas ? true : false; // Valida imagen, pero no es necesaria en '$todo_correcto' $img = cargarImagen($imagen, $request["codigo"]); if ($todo_correcto) { echo Html::p("Se ha MODIFIFICADO el producto con ID {$request["codigo"]} con éxito.", "mensaje_correcto"); // Indico si el producto es una novedad o no. $nuevo = $request["tipo_producto"] == "nuevo" ? "true" : "false"; // Modificaciones: // OJO!!! Asegurarse del tipo de dato que se está insertando en la BBDD. Tipo string deben estar cerrados entre comillas simples ''; $this->BBDD->Update("productos", "id_categoria", "{$request["categoria"]}", "id_producto='{$request["codigo"]}'"); $this->BBDD->Update("productos", "nombre", "'{$request["nombre"]}'", "id_producto='{$request["codigo"]}'"); if ($img != false) { $this->BBDD->Update("productos", "imagen", "'{$img}'", "id_producto='{$request["codigo"]}'"); } $this->BBDD->Update("productos", "precio", "{$request["precio"]}", "id_producto='{$request["codigo"]}'"); $this->BBDD->Update("productos", "descuento", "{$request["descuento"]}", "id_producto='{$request["codigo"]}'"); $this->BBDD->Update("productos", "nuevo", "{$nuevo}", "id_producto='{$request["codigo"]}'"); $this->BBDD->Update("productos", "caracteristicas", "'{$request["caracteristicas"]}'", "id_producto='{$request["codigo"]}'"); } else { echo Html::p("Debido al error o errores anteriores NO se ha modificado el producto con ID {$request["codigo"]} con éxito.", "error"); } } else { echo Html::p("Ha habido algún error de algún tipo, por lo que NO se ha podido actualizar la BBDD.", "error"); } } } }
header('Location:Inicio.php'); } } } switch ($proceso) { case 'Registro': $acceso->crearPlato($nombre, $precio, $descripcion, $tipo, $imagen); cargarImagen(); break; case 'Edicion': if ($imagen != "") { $acceso->ModificarPlato($id, $nombre, $precio, $descripcion, $tipo, $imagen); } else { $acceso->ModificarPlatoSinImagen($id, $nombre, $precio, $descripcion, $tipo); } cargarImagen(); break; } //ACTUALIZAMOS LOS REGISTROS Y LOS OBTENEMOS //CREAMOS NUESTRA VISTA Y LA DEVOLVEMOS AL AJAX $acceso2 = new AccesoMySql(); $comidas = $acceso2->CargarPlatos(); echo '<table class="table table-striped table-condensed table-hover"> <tr> <th width="150">Nombre</th> <th width="350">Descripcion</th> <th width="100">Precio</th> <th width="150">Tipo</th> <th width="100">Imagen</th> </tr>'; foreach ($comidas as $comida) {