Está en la página 1de 6

13 DE FEBRERO DEL 2024

CREACIÓN Y CONEXIÓN DB
APLICACIONES WEB I4.0

LUIS JUÁREZ AGUILAR


IVANNA LEISEL HERNÁNDEZ SANTIAGO
DSM - 502
Crear el directorio: llamado restaurante; este debe contener los siguientes subdirectorios.

Este debe ubicarse en la carpeta www de su servidor App Server

Contenido del archivo index.php

<!DOCTYPE html>
<html lang="es">
<head>
<meta charset="UTF-8" />
<title>Modelo-vista-controlador</title>
</head>
<body>
<h1>Bienvenido al restaurant Chefcito</h1>
<section>
<a href="controller/controlador.php">Solicite nuestro menú</a>
</section>
</body>
</html>

Ejecutarlo con la extensión html.

Debes de obtener la siguiente pantalla

Bienvenido al restaurant Chefcito


Solicite nuestro menú
Da clic al enlace
Debes obtener la siguiente línea en tu navegador
ista_platillos(); require_once("../view/vista.php"); ?>
¿Qué significa?

`require_once("../model/modelo.php");`: Esta línea importa el archivo `modelo.php`, que contiene


la definición de la clase `Platillo` y sus métodos para interactuar con la base de datos y obtener los
datos de los platillos.

`$menu = new Platillo();`: Crea una nueva instancia del objeto `Platillo`, utilizando la clase definida
en el archivo `modelo.php`. Esta instancia se utilizará para llamar al método `lista_platillos()` y
obtener la lista de platillos disponibles.

`$pd = $menu->lista_platillos();`: Llama al método `lista_platillos()` del objeto `$menu`, que a su vez
interactúa con la base de datos para obtener la lista de platillos disponibles. El resultado se almacena
en la variable `$pd`.

`require_once("../view/vista.php");`: Esta línea importa el archivo `vista.php`, que contiene el


código HTML y PHP necesario para mostrar la lista de platillos en la vista.

Contenido del controlador

<?php
require_once("../model/modelo.php");
$menu = new Platillo();
$pd = $menu->lista_platillos();
require_once("../view/vista.php");
?>

Contenido parcial del Modelo

¿Cuál es el objetivo del Archivo?

- La clase `Platillo` encapsula la lógica relacionada con los platillos del restaurante.

Propiedades privadas:

- `$platillo`: Un array que almacena los datos de los platillos recuperados de la base de datos.

- `$dbh`: Un objeto que representa la conexión a la base de datos utilizando la extensión PDO de
PHP.

Método constructor `__construct()`:

- Inicializa las propiedades `$platillo` como un array vacío y `$dbh` como una nueva instancia de
PDO que se conecta a la base de datos llamada 'restaurante' en localhost utilizando el usuario 'root'
y la contraseña '12345678'.

Método privado `set_names()`:

- Establece la codificación de caracteres de la conexión a UTF-8 para garantizar la compatibilidad


con caracteres multibyte.

Método público `lista_platillos()`:


- Realiza una consulta a la base de datos para obtener los nombres y precios de los platillos
disponibles (`where disponible = 1`).

- Utiliza el método `set_names()` para establecer la codificación de caracteres.

- Itera sobre los resultados de la consulta y agrega cada platillo al array `$platillo`.

- Devuelve el array de platillos.

- Cierra la conexión a la base de datos (`$this->dbh=null;`) aunque esta línea nunca se ejecutará ya
que está después de `return`.

Antes de continuar vamos a crear la base de Datos:


Define su estructura:

-- Estructura de tabla para la tabla `platillos`


--

CREATE TABLE IF NOT EXISTS `platillos` (


`id` int(11) NOT NULL AUTO_INCREMENT,
`nombre` varchar(100) CHARACTER SET utf8 COLLATE utf8_spanish_ci
NOT NULL,
`precio` float(6,2) NOT NULL,
`disponible` int(11) NOT NULL,
PRIMARY KEY (`id`)
) ENGINE=MyISAM DEFAULT CHARSET=latin1 AUTO_INCREMENT=5 ;

--
-- Volcado de datos para la tabla `platillos`
--

INSERT INTO `platillos` (`id`, `nombre`, `precio`, `disponible`)


VALUES
(1, 'Mariscos', 50.00, 1),
(2, 'Lazaña', 60.00, 1),
(3, 'Chuleta con patatas', 85.00, 0),
(4, 'Milaneza', 30.00, 1);
ación phpAdmin
--
-- Estructura de tabla para la tabla `platillos`
--

CREATE TABLE IF NOT EXISTS `platillos` (


`id` int(11) NOT NULL AUTO_INCREMENT,
`nombre` varchar(100) CHARACTER SET utf8 COLLATE utf8_spanish_ci
NOT NULL,
`precio` float(6,2) NOT NULL,
`disponible` int(11) NOT NULL,
PRIMARY KEY (`id`)
) ENGINE=MyISAM DEFAULT CHARSET=latin1 AUTO_INCREMENT=5 ;

--
-- Volcado de datos para la tabla `platillos`
--

INSERT INTO `platillos` (`id`, `nombre`, `precio`, `disponible`)


VALUES
(1, 'Mariscos', 50.00, 1),
(2, 'Lazaña', 60.00, 1),
(3, 'Chuleta con patatas', 85.00, 0),
(4, 'Milaneza', 30.00, 1);

Esta es la primera parte del ejercicio.

Resultado en el localhost:

También podría gustarte