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

Entradas populares de este blog

3-3-entrada-descripcion-marca-trayendo marcas

Compuertas lógicas

4-SALIDAS