$tipo = explode('image/', $_FILES["updateImagen"]["type"]); $extension = $tipo[1]; // Direccion donde la guardaremos $imgDir = "../View/images/" . $imgName . "." . $extension; // Subimos el archivo al server move_uploaded_file($_FILES["updateImagen"]["tmp_name"], $imgDir); } else { // Si no se ha mandado la imagen // Mandamos la direccion vacio para evitar que haga cambios en la BD $imgDir = ""; } if ($_POST["updatePrecio"] === "") { $precio = 0; } if ($_POST["updateCantidad"] === "") { $cantidad = 0; } // Buscamos en la base de datos y guardamos el objeto que queremos modificar $bebida = Bebida::getBebidaById($_POST["updateId"]); // Setter para modificar todos los atributos del objeto $bebida->setter($_POST["updateNombre"], $precio, $cantidad, $imgDir, $fecha); // Recogemos la respuesta de la BD $resultado = $bebida->update(); if ($resultado == false) { echo "error"; } else { echo "success"; } } else { echo "error"; }
// Importamos las clases de Comida, Bebida y Autoloader de Twig require_once '../Model/Bebida.php'; require_once 'Twig/lib/Twig/Autoloader.php'; // Inicializamos Twig Twig_Autoloader::register(); $loader = new Twig_Loader_Filesystem(__DIR__ . '/../View'); $twig = new Twig_Environment($loader); if (isset($_POST["addSubmit"])) { // Fecha actual con formato $fecha = date('d-m-Y'); // Le damos un nombre nuevo a la imagen $imgName = "img" . time(); // Explotamos el type de archivo para recoger su extension $tipo = explode('image/', $_FILES["addImagen"]["type"]); $extension = $tipo[1]; // Direccion donde la guardaremos $imgDir = "../View/images/" . $imgName . "." . $extension; // Subimos el archivo al server move_uploaded_file($_FILES["addImagen"]["tmp_name"], $imgDir); // Creamos el objeto que insertaremos $bebida = new Bebida($_POST["addNombre"], $_POST["addPrecio"], $_POST["addCantidad"], $imgDir, $fecha); // Recogemos la respuesta de la BD $resultado = $bebida->insert(); if ($resultado == false) { header("Location: bebida.php?error=1"); } else { header("Location: bebida.php?success=1"); } } else { header("Location: bebida.php?error=1"); }
<thead> <tr> <th> </th> <th> VINO </th> <th> PRECIO </th> </tr> </thead> <tbody> <?php list($bebidas) = Bebida::getBebidas(); foreach ($bebidas as $bebida) { echo "<tr><td><input type='radio' name='bebida' value='" . $bebida->getValueEncoded("id_bebida") . "'></td><td>" . $bebida->getValueEncoded("nombre") . "</td><td> " . $bebida->getValueEncoded("precio") . "€</td>"; echo "</tr>"; } ?> <tr> <td colspan="3"> <select name="cantidad"> <option value="1">1</option> <option value="2">2</option> <option value="3">3</option> <option value="4">4</option> <option value="4">5</option> </select> </td>
<?php $plato = $_SESSION['platos']; $Z = count($plato); for ($i = 0; $i < $Z; $i++) { $platos = Plato::getById($plato[$i]); echo "<tr><td>" . $platos->getValueEncoded("nombre") . "</td>"; echo "<td>" . $platos->getValueEncoded("precio") . "€</td></tr>"; $_SESSION['precio'] += $platos->getValueEncoded("precio"); } $_SESSION['precio'] *= $_SESSION['comensales']; echo "<tr><th>VINO</th>\n <th></th>\n\t\t\t\t</tr>"; $bebida = $_SESSION['bebidas']; $cantidad = $_SESSION['cantidad']; $bebidas = Bebida::getById($bebida); echo "<tr><th>Nombre</th><td>" . $bebidas->getValueEncoded("nombre") . "</td></tr>"; echo "<tr><th>Precio</th><td>" . $bebidas->getValueEncoded("precio") . "€</td></tr>"; echo "<tr><th>Cantidad</th><td>" . $cantidad . "</td></tr>"; $_SESSION['precio'] += $bebidas->getValueEncoded("precio") * $cantidad; echo "<tr><th>TOTAL</th>\n <th></th>\n\t\t\t\t</tr>"; echo "<tr><th>" . $_SESSION['precio'] . "€</th><td></td></tr>"; ?> </tbody> </table> <button type="submit" class="btn btn-default" name="insertar">Enviar</button> </form> <?php }
public function __construct($id, $descripcion, $mililitros, $precio, $activo) { parent::__construct($id, $descripcion, $mililitros, $precio, $activo); }
<?php // Importamos las clases de Bebida, Bebida y Autoloader de Twig require_once '../Model/Bebida.php'; require_once 'Twig/lib/Twig/Autoloader.php'; // Inicializamos Twig Twig_Autoloader::register(); $loader = new Twig_Loader_Filesystem(__DIR__ . '/../View'); $twig = new Twig_Environment($loader); if (isset($_POST["deleteSubmit"])) { // Buscamos en la base de datos y guardamos el objeto que queremos borrar $bebida = Bebida::getBebidaById($_POST["deleteId"]); // Mandamos borrar el objeto de la base de datos y recogemos la respuesta de la BD $resultado = $bebida->delete(); if ($resultado == false) { header("Location: bebida.php?error=1"); } else { header("Location: bebida.php?success=1"); } } else { header("Location: bebida.php?error=1"); }
function __construct($id, $descripcion, $mililitros, $precio, $activo) { parent::__construct($id, $descripcion, $mililitros, $precio, $activo); $this->setBase(BaseLecheOAgua::AGUA); }
list($platos) = Plato::getByPedidoMenu($id_pedido); foreach ($platos as $plato) { $pdf->Cell(40, 10, $plato->getValueEncoded("nombre")); $pdf->Ln(); } $pdf->Cell(40, 10, "Bebidas: "); $pdf->Ln(); } else { foreach ($platos as $plato) { $pdf->Cell(40, 10, $plato->getValueEncoded("nombre")); $pdf->Ln(); } $pdf->Cell(40, 10, "Bebidas: "); $pdf->Ln(); } list($bebidas) = Bebida::getByPedido($id_pedido); foreach ($bebidas as $bebida) { $pdf->Cell(40, 10, $bebida->getValueEncoded("nombre")); $pdf->Ln(); $pdf->Cell(40, 10, "Precio: " . $bebida->getValueEncoded("precio")); $pdf->Ln(); $pdf->Cell(40, 10, "Cantidad: " . $_SESSION['cantidad']); $pdf->Ln(); } $pdf->Cell(40, 10, "Total: "); $pdf->Ln(); $factura = Factura::getById($id_pedido); $pdf->Cell(40, 10, $factura->getValueEncoded("precio")); $pdf->Ln(); $pdf->Output("facturas/" . $id_pedido . ".pdf", 'F'); echo "<script language='javascript'>window.open('facturas/" . $id_pedido . ".pdf','_self','');</script>";
// Si nos llega algun mensaje de exito lo guardamos if (isset($_GET["success"])) { $data["success"] = 1; } // Si nos llega informacion sobre actualizar if (isset($_POST["updateSubmit"])) { // Guardamos la Id del producto a modificar para mandarla a la vista // e imprimir un formulario en su lugar $data["updateId"] = $_POST["updateId"]; } // Guardamos en data la lista de objetos que nos devuelve la base de datos. $data["bebidas"] = Bebida::getBebidas($_SESSION["pagina"], $_SESSION["filasVisualizadas"], $orden, $dir, $filtro, $valor, $filtro2); $data["origin"] = "Bebida"; ///// Manejo de Paginas ///// // Recogemos el numero de filas $numeroFilas = (int) Bebida::getNumRows(); // Pagina maxima $paginasMaximas = ceil($numeroFilas / $_SESSION["filasVisualizadas"]) - 1; // Guardamos la pagina actual $data["paginaActual"] = $_SESSION["pagina"]; // Si sucede el extraño caso (que puede ocurrir) de que la pagina actual sea mayor // que la pagina maxima, ponemos la pagina actual como maxima if ($_SESSION["pagina"] > $paginasMaximas) { $data["paginaActual"] = $paginasMaximas; } // Si la pagina actual es mayor a 0 significa que tenemos una pagina anterior y tambien // que hay una primera (aunque a veces sean la misma) if ($_SESSION["pagina"] > 0) { $data["paginaAnterior"] = $_SESSION["pagina"] - 1; $data["paginaPrimera"] = 0; }
} // Si se ha mandado el filtro if (isset($_POST["filtro"])) { // Asignamos el filtro $filtro = $_POST["filtro"]; $valor = $_POST["filtroValor"]; $data["filtroValor"] = $_POST["filtroValor"]; } // Si se ha mandado el filtro if (isset($_POST["filtro2"])) { // Asignamos el filtro $filtro2 = $_POST["filtro2"]; } // Si nos llega algun mensaje de error lo guardamos en data para pasarlo a la vista if (isset($_GET["error"])) { $data["error"] = 1; } // Si nos llega algun mensaje de exito lo guardamos if (isset($_GET["success"])) { $data["success"] = 1; } // Si nos llega informacion sobre actualizar if (isset($_POST["updateSubmit"])) { // Guardamos la Id del producto a modificar para mandarla a la vista // e imprimir un formulario en su lugar $data["updateId"] = $_POST["updateId"]; } // Guardamos en data la lista de objetos que nos devuelve la base de datos. $data["bebidas"] = Bebida::getBebidas($orden, $dir, $filtro, $valor, $filtro2); // Mostramos el listado usando la plantilla twig echo $twig->render('listadoBebida.html.twig', $data);
public static function getBebidas($pagina = 0, $paginasVisualizadas = 10, $orden = null, $dir = null, $filtro = null, $valor = null, $filtro2 = null) { // Conectamos a la BD $conexion = restDB::connectDB(); // Si el filtro no viene vacio if ($filtro !== "" && $filtro !== null && $valor !== "" && $valor !== null) { // Sentencia Select $seleccion = "SELECT * FROM bebida WHERE LOWER({$filtro}) LIKE LOWER('%{$valor}%')"; $cuentaFilas = "SELECT count(id) FROM bebida WHERE LOWER({$filtro}) LIKE LOWER('%{$valor}%')"; } else { // Si el filtro viene vacio // Sentencia Select $seleccion = "SELECT * FROM bebida"; $cuentaFilas = "SELECT count(id) FROM bebida"; } // Si la hay un segundo filtro, se filtra el valor por esa columna tambien if ($filtro2 !== "" && $filtro2 !== null && $valor !== null && $valor !== "") { $seleccion .= " OR LOWER({$filtro2}) LIKE LOWER('%{$valor}%')"; $cuentaFilas .= " OR LOWER({$filtro2}) LIKE LOWER('%{$valor}%')"; } // En el caso de que haya algun tipo filtro por orden if ($orden !== "" && $orden !== null) { $seleccion .= " ORDER BY {$orden} {$dir}"; } else { // Si no hay ningun filtro de orden se ordena alfabeticamente $seleccion .= " ORDER BY nombre {$dir}"; } // Offset y Limit to para las paginas $offset = $pagina * $paginasVisualizadas; $seleccion .= " LIMIT {$paginasVisualizadas} OFFSET {$offset}"; // Ejecutamos el Select con query (que devuelve los datos, exec solo devuelve filas afectadas) $consulta = $conexion->query($seleccion); // Ejecuta el contar filas sql $consultaFilas = $conexion->query($cuentaFilas); // Guardamos el resultado en numFilas y lo pasa a string $numFilas = $consultaFilas->fetchColumn(); // Guardamos el numero de filas en el atributo del objeto Bebida::$numRows = $numFilas; // Inicializamos $bebidas como array antes del While para evitar error $bebidas = []; // Recorremos todos los registros while ($registro = $consulta->fetchObject()) { // Creamos objetos y los metemos en el array bebidas $bebidas[] = new Bebida($registro->nombre, $registro->precio, $registro->cantidad, $registro->imagen, $registro->fecha, $registro->id); } // Devolvemos el array bebidas return $bebidas; }