exec("CREATE TABLE IF NOT EXISTS citas ( id INT AUTO_INCREMENT PRIMARY KEY, start_event DATETIME NOT NULL, end_event DATETIME NOT NULL, id_departamento INT NOT NULL, lugar VARCHAR(255), usuarios TEXT, estado VARCHAR(50) DEFAULT 'Pendiente', created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP, FOREIGN KEY (id_departamento) REFERENCES departamentos(id) ON DELETE CASCADE )"); // Add 'title' column if it doesn't exist $stmt = $pdo->query("SHOW COLUMNS FROM citas LIKE 'title'"); if ($stmt->rowCount() == 0) { $pdo->exec("ALTER TABLE citas ADD COLUMN title VARCHAR(255) NOT NULL AFTER id;"); } // Add 'id_conductor' column if it doesn't exist $stmt = $pdo->query("SHOW COLUMNS FROM citas LIKE 'id_conductor'"); if ($stmt->rowCount() == 0) { $pdo->exec("ALTER TABLE citas ADD COLUMN id_conductor INT NULL AFTER id_departamento, ADD FOREIGN KEY (id_conductor) REFERENCES taxis(id) ON DELETE SET NULL;"); } // Fetch departments and conductors $departamentos = $pdo->query("SELECT id, nombre FROM departamentos ORDER BY nombre")->fetchAll(PDO::FETCH_ASSOC); $conductores = $pdo->query("SELECT id, matricula FROM taxis ORDER BY matricula")->fetchAll(PDO::FETCH_ASSOC); // Get selected filters $selected_depto_id = $_GET['id_departamento'] ?? null; $selected_conductor_id = $_GET['id_conductor'] ?? null; // Handle form submission if ($_SERVER['REQUEST_METHOD'] === 'POST' && isset($_POST['add_cita'])) { $title = $_POST['title']; $fecha = $_POST['fecha']; $hora_inicio = $_POST['hora_inicio']; $hora_fin = $_POST['hora_fin']; $id_departamento = $_POST['id_departamento']; $id_conductor = $_POST['id_conductor'] ?: null; $lugar = trim($_POST['lugar']); $usuarios = trim($_POST['usuarios']); $estado = $_POST['estado']; if (!empty($title) && !empty($fecha) && !empty($hora_inicio) && !empty($hora_fin) && !empty($id_departamento)) { try { $start_event_dt = new DateTime($fecha . ' ' . $hora_inicio); $end_event_dt = new DateTime($fecha . ' ' . $hora_fin); $start_event = $start_event_dt->format('Y-m-d H:i:s'); $end_event = $end_event_dt->format('Y-m-d H:i:s'); $stmt = $pdo->prepare("INSERT INTO citas (title, start_event, end_event, id_departamento, id_conductor, lugar, usuarios, estado) VALUES (?, ?, ?, ?, ?, ?, ?, ?)"); $stmt->execute([$title, $start_event, $end_event, $id_departamento, $id_conductor, $lugar, $usuarios, $estado]); $message = '
| Título | Conductor | Inicio | Fin | Estado | Lugar | Usuarios |
|---|---|---|---|---|---|---|
| No hay citas para los filtros seleccionados. | ||||||