mysql – problema realizar reserva php

Antes de comenzar, debes leer acerca de MVC, Modelo Vista Controlador, el cual es un patrón de arquitectura de software, que permite tener un código mas legible y ordenado. La estructura de esta arquitectura consta de esta manera:

Reserva
  ->Models
    ->User.php
    ->Post.php
  ->Views
    ->index.view.php
    ->form.index.php
  ->Controllers
    ->CrudeController.php
  ->Database
    ->mibd.sql

En donde podemos identificar que, las 3 carpetas principales son:

  • Modelo (donde se guarda todo lo relacionado al objeto que se desea mapear, en tu caso, reservaciones)
  • Vista: En donde se guardan todas las paginas que el usuario ve a la hora de interactúa con tu sistema, normalmente llevan los nombres de la acción y .view.php, tipo crear.view.php
  • Controlador: aquí ira toda la lógica de tu programa, es decir, debes instanciar una conexión a la BD, también los métodos que tendra tu programa, los cuales son CRUD (Create, Read, Update, Delete), además se debe agregar con require 'index.view.' los archivos de la vista.

Comprendiendo esto, te echo la mano en como debes estructurar todo y que debe ir en cada uno

Bien vamos por partes:

  • Paso 1: La conexión a la base de datos

Veo que ya tienes una conexión a la base de datos, sin embargo podemos mejorar algunas cosas para que funcione mejor y se adapte a lo que pide el maestro: que uses MVC (Modelo-Vista-Controlador)

Primero, definimos algunas constantes para la conexión, estos estarán en un archivo llamado Config.php (o agregarle el nombre que quieras).

<?php 
//Definiendo constantes para la conexion a la bd
  define('DB_HOST', 'localhost');
  define('DB_USER', 'root');
  define('DB_PASSWORD', '');
  define('DB_NAME', 'dbreservoir');
  define('DB_CHARSET', 'utf8');
?>

Una vez que ya tengas esto, vamos al archivo de la conexión y hacemos unos pequeños ajustes para trabajar con el MVC

<?php
require 'config.php';

class Connect {
  protected $connection;
  

  public function __construct(){
    $this->connection = new mysqli(DB_HOST, DB_USER, DB_PASSWORD, DB_NAME);
    if ($this->connection->connect_errno) {
      echo "Error al conectarte a la BD {$this->connection->connect_errno}";

      return;
    }
    $this->connection->set_charset(DB_CHARSET);
  }
}
?>
  • Paso 2: Nos dice que debes crear una carpeta llamada controllers y ahí crear el archivo para hacer las respectivas consultas a la bd (toda tu lógica del proyecto).

Partimos que ya creaste la carpeta Controller y ahí creamos un archivo llamado ReservoirController.php (el nombre queda a tu criterio). Estanciamos la conexión a la base de datos y los métodos de tu crude.

<?php 
  class ReservoirController extends Connect {
    
    public function __construct(){
      //Ejecutar el codigo de Connect
      parent::__construct();
    }
      
    //Operaciones CRUDE
    public function mostrar(){}
    public function mostrarUno(){}
    public function crear(){}
    public function editar(){}
    public function eliminar
  }
?>

Por ultimo el paso 3:

  • En modelo deseamos crear un archivo donde tengas las mismas propiedades que tu tabla de la base de datos, ya que de esa manera tu representas en codigo esa tabla (u objeto)
<?php
class Reserva {
  public $id;
  public $nombre;
  public $fecha_ingreso;
  //y demas..

//ademas agregamos los setter, getters y el toString
  public function setId($id){}
  public function getId(){}

  public function setNombre($nombre){}
  public function getNombre(){}

  public function setFechIngreso($fecha_ingreso){}
  public function getFechaIngreso(){}

  public toString(){
    return $this->id ." " .$this->nombre ." " .$this->fecha_ingreso;
  }
}

?>

Con esta explicación queda mas claro acerca del mvc, espero que esto te pueda ayudar para lo que buscas y necesitas, sino, escribeme y con gusto te hecho la mano.