limpiar
<?php
session_start();
// Datos del formulario
$id = isset($_POST["id"]) ? $_POST["id"] : "";
$nombre = isset($_POST["nombre"]) ? $_POST["nombre"] : "";
$apellidos = isset($_POST["apellidos"]) ? $_POST["apellidos"] : "";
$cursos = isset($_POST["cursos"]) ? $_POST["cursos"] : array();
$accion = isset($_POST["accion"]) ? $_POST["accion"] : "";
// Función para conectar a la base de datos
function conectar() {
$link = new PDO("mysql:host=localhost;dbname=aplicacion", "root", "");
return $link;
}
$conexionBD = conectar();
$arregloCursos = array(); // Inicializar la variable
if (isset($_POST['accion'])) {
switch($accion) {
case "seleccionar":
$sql = "SELECT * FROM alumnos WHERE id=:id";
$consulta = $conexionBD->prepare($sql);
$consulta->bindParam(":id", $id);
$consulta->execute();
$alumno = $consulta->fetch(PDO::FETCH_ASSOC);
$nombre = $alumno["nombre"];
$apellidos = $alumno["apellidos"];
$sql = "SELECT cursos.id FROM alumnos_cursos ";
$sql .= "INNER JOIN cursos ON cursos.id=alumnos_cursos.idcurso ";
$sql .= "WHERE alumnos_cursos.idalumno=:id";
$consulta = $conexionBD->prepare($sql);
$consulta->bindParam(":id", $id);
$consulta->execute();
$cursosAlumno = $consulta->fetchAll(PDO::FETCH_ASSOC);
foreach($cursosAlumno as $curso){
$arregloCursos[] = $curso["id"];
}
break;
case "agregar":
if (!empty($nombre) && !empty($apellidos)) {
$sql = "INSERT INTO alumnos (id, nombre, apellidos) VALUES (null, :nombre, :apellidos)";
$consulta = $conexionBD->prepare($sql);
$consulta->bindParam(":nombre", $nombre);
$consulta->bindParam(":apellidos", $apellidos);
$consulta->execute();
$id = $conexionBD->lastInsertId();
$cursos = $_POST["cursos"];
foreach($cursos as $curso){
$sql = "INSERT INTO alumnos_cursos (id, idalumno, idcurso) VALUES (null, :id_alumno, :id_curso)";
$consulta = $conexionBD->prepare($sql);
$consulta->bindParam(":id_alumno", $id);
$consulta->bindParam(":id_curso", $curso);
$consulta->execute();
}
$arregloCursos = $cursos;
// Limpiar sesión
session_unset();
// Redirigir para limpiar $_POST
header("Location: " . $_SERVER['PHP_SELF']);
exit();
}
break;
case "borrar":
// Limpiar sesión
session_unset();
// Redirigir para limpiar $_POST
header("Location: " . $_SERVER['PHP_SELF']);
exit();
break;
case "limpiar":
// Redirigir para limpiar $_POST
header("Location: " . $_SERVER['PHP_SELF']);
exit();
break;
}
}
// Obtener todos los cursos
$sql = "SELECT * FROM cursos";
$listaCursos = $conexionBD->query($sql);
$listaCursos = $listaCursos->fetchAll(PDO::FETCH_ASSOC);
// Consultar todos los alumnos de la base de datos
$sql = "SELECT * FROM alumnos";
$conexionBD = conectar();
$listaAlumnos = $conexionBD->query($sql);
$alumnos = $listaAlumnos->fetchAll(PDO::FETCH_ASSOC);
// Por cada alumno, consultar los cursos asociados
foreach ($alumnos as $clave => $alumno) {
$sql = "SELECT * FROM cursos WHERE id IN (SELECT idcurso FROM alumnos_cursos WHERE idalumno = :idalumno)";
$consulta = $conexionBD->prepare($sql);
$consulta->bindParam(':idalumno', $alumno['id']);
$consulta->execute();
$cursosAlumno = $consulta->fetchAll(PDO::FETCH_ASSOC);
$alumnos[$clave]['cursos'] = $cursosAlumno;
}
?>
<!DOCTYPE html>
<html lang="en">
<head>
<title>CRUD de Alumnos</title>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<!-- jQuery -->
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.0/jquery.min.js"></script>
<!-- Bootstrap CSS -->
<link href="https://cdn.jsdelivr.net/npm/bootstrap@5.3.2/dist/css/bootstrap.min.css" rel="stylesheet">
<!-- Bootstrap JS -->
<script src="https://cdn.jsdelivr.net/npm/bootstrap@5.3.2/dist/js/bootstrap.bundle.min.js"></script>
<!-- SweetAlert for alerts -->
<script src="https://cdnjs.cloudflare.com/ajax/libs/sweetalert/2.1.2/sweetalert.min.js" integrity="sha512-AA1Bzp5Q0K1KanKKmvN/4d3IRKVlv9PYgwFPvm32nPO6QS8yH1HO7LbgB1pgiOxPtfeg5zEn2ba64MUcqJx6CA==" crossorigin="anonymous" referrerpolicy="no-referrer"></script>
<!-- SweetAlert2 for enhanced alerts -->
<script src="https://cdn.jsdelivr.net/npm/sweetalert2@11"></script>
<script>
// Función para restablecer el formulario cuando se carga la página
window.onload = function() {
document.getElementById("alumnoForm").reset();
}
// Función para restablecer el formulario manualmente
function resetForm() {
document.getElementById("alumnoForm").reset();
}
</script>
</head>
<body>
<div class="container">
<!-- Contenido HTML con el formulario y la tabla -->
</div>
</body>
</html>
Comentarios
Publicar un comentario