query("SHOW COLUMNS FROM taxis LIKE 'id_departamento'"); if ($check_column->rowCount() == 0) { $pdo->exec("ALTER TABLE taxis ADD COLUMN id_departamento INT, ADD FOREIGN KEY (id_departamento) REFERENCES departamentos(id) ON DELETE SET NULL;"); } // Handle POST requests if ($_SERVER['REQUEST_METHOD'] === 'POST') { // Add new taxi if (isset($_POST['add_taxi'])) { $matricula = trim($_POST['matricula']); $modelo = trim($_POST['modelo']); $id_departamento = $_POST['id_departamento'] ?: null; if (!empty($matricula)) { $sql = "INSERT INTO taxis (matricula, modelo, id_departamento) VALUES (?, ?, ?)"; $pdo->prepare($sql)->execute([$matricula, $modelo, $id_departamento]); $message = 'Taxi/Conductor añadido exitosamente.'; $message_type = 'success'; } else { $message = 'La matrícula es obligatoria.'; $message_type = 'warning'; } } } // Fetch departments for dropdown $departamentos = $pdo->query("SELECT id, nombre FROM departamentos ORDER BY nombre")->fetchAll(PDO::FETCH_ASSOC); // Fetch all taxis with department info $taxis = $pdo->query( "SELECT t.*, d.nombre as departamento_nombre FROM taxis t LEFT JOIN departamentos d ON t.id_departamento = d.id ORDER BY t.matricula ASC" )->fetchAll(PDO::FETCH_ASSOC); } catch (PDOException $e) { $message = 'Error de base de datos: ' . $e->getMessage(); $message_type = 'danger'; } ?>
| Matrícula | Modelo | Departamento | Fecha de Registro |
|---|---|---|---|
| No hay taxis registrados. | |||