ALUMNOS

 <?php

include_once("../configuracion/bd.php");
$conexionBD=BD::crearInstancia();

$id=isset($_POST["id"])?$_POST["id"]:"";
$nombre=isset($_POST["nombre"])?$_POST["nombre"]:"";
$apellidos=isset($_POST["apellidos"])?$_POST["apellidos"]:"";
$cursos=isset($_POST["cursos"])?$_POST["cursos"]:"";
$accion=isset($_POST["accion"])?$_POST["accion"]:"";


echo "alumnos";

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 alumno_curso ";
        $sql.="INNER JOIN cursos ON cursos.id=alumno_curso.idcurso ";
        $sql.="WHERE alumno_curso.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":
        $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();
        print_r($id);
        $cursos=$_POST["cursos"];
        foreach($cursos as $curso){
            $sql="INSERT INTO alumno_curso (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;

        break;
    case "borrar":

        $sql="DELETE FROM alumnos WHERE id=:id";
        $consulta=$conexionBD->prepare($sql);
        $consulta->bindParam(":id",$id);
        $consulta->execute();

    break;
    case "editar":
        $sql="UPDATE alumnos SET nombre=:nombre,apellidos=:apellidos WHERE id=:id";
        $consulta=$conexionBD->prepare($sql);
        $consulta->bindParam(":nombre",$nombre);
        $consulta->bindParam(":apellidos",$apellidos);
        $consulta->bindParam(":id",$id);
        $consulta->execute();
        print_r($_POST);
        print_r($cursos);

        if(isset($cursos)){
            $sql="DELETE FROM alumno_curso WHERE idalumno=:id";
            $consulta=$conexionBD->prepare($sql);
            $consulta->bindParam(":id",$id);
            $consulta->execute();

            foreach($cursos as $curso){
                $sql = "INSERT INTO alumno_curso (idalumno, idcurso) VALUES (?, ?)";
                $ejecutarSentencia= $conexionBD->prepare($sql);
                $ejecutarSentencia->execute([$id,$curso]);
            }
            $arregloCursos=$cursos;
        }
       

        break;

   


}


}

$sqlCursos= $conexionBD->query("SELECT * FROM cursos");
$listaCursos=($sqlCursos->fetchAll());  

$sql="SELECT * FROM alumnos";
$listaAlumnos=$conexionBD->query($sql);
$alumnos=$listaAlumnos->fetchAll();

foreach($alumnos as $clave =>$alumno)
{
    $sql="SELECT * FROM cursos WHERE id IN (SELECT idcurso FROM alumno_curso WHERE idalumno=:id)";
    $consulta=$conexionBD->prepare($sql);
    $consulta->bindParam(":id",$alumno["id"]);
    $consulta->execute();
    $listaCursosAlumno=$consulta->fetchAll();
    $alumnos[$clave]["cursos"]=$listaCursosAlumno;

}


?>

<div class="container">
    <div class="row">
        <div class="col-md-5">
        <br/><br/>
        <form action="" method="post">
            <div class="card">
                <div class="card-header">
                  Alumnos
                </div>
                <div class="card-body">
               
                <div class="mb-3">
                    <label for="id" class="form-label">ID</label>
                    <input type="text"
                        class="form-control" name="id" value="<?php echo $id;?>"  id="id" aria-describedby="helpId" placeholder="ID">
                </div>        
                <div class="mb-3">
                  <label for="nombre" class="form-label">Nombre:</label>
                  <input type="text"
                    class="form-control" value="<?php echo $nombre;?>" name="nombre" id="nombre" aria-describedby="helpId" placeholder="nombre">
                </div>

                <div class="mb-3">
                  <label for="apellidos" class="form-label">Apellidos</label>
                  <input type="text"
                    class="form-control" value="<?php echo $apellidos;?>" name="apellidos" id="apellidos" aria-describedby="helpId" placeholder="Apellidos">
                 
                </div>

                <div class="mb-3">
                  <label for="" class="form-label">Curso del alumno:</label>
                  <select multiple class="form-control" name="cursos[]" id="ListaCursos">

                    <?php foreach($listaCursos as $curso):?>
                       
                        <option
                           
                            <?php if(!empty($arregloCursos)):
                                    if(in_array($curso["id"],$arregloCursos)): ?>
                                selected
                            <?php   endif;endif; ?>

                        value="<?php echo $curso["id"];?>"><?php echo $curso["nombre_curso"];?></option>
                    <?php endforeach;?>
                   

                  </select>
                </div>

                <div class="btn-group" role="group" aria-label="">
                    <button value="agregar" name="accion" type="submit" class="btn btn-success">Agregar</button>
                    <button value="editar" name="accion" type="submit" class="btn btn-warning">Editar</button>
                    <button value="borrar" name="accion" type="submit" class="btn btn-danger">Borrar</button>
                </div>
               

                </div>
               
            </div>

        </form>    
        </div>
        <div class="col-md-7">
            <br/><br/>
            <table class="table">
                <thead>
                    <tr>
                        <th>ID</th>
                        <th>Nombre</th>
                        <th>Acciones</th>
                    </tr>
                </thead>
                <tbody>
                    <?php foreach($alumnos as $alumno){ ?>    
                <tr>
                    <td ><?php echo $alumno["id"]; ?></td>
                    <td>
                       
                    <?php echo $alumno["nombre"]; ?> <?php echo $alumno["apellidos"]; ?>
                    <br/>
                    <?php
                        foreach($alumno["cursos"] as $curso){ ?>
                         
                        - <a href="certificado.php?idcurso=<?php echo $curso["id"]; ?>&idalumno=<?php echo $alumno["id"]; ?>">
                         <?php echo $curso["nombre_curso"]; ?></a><br/>

                        <?php  }    ?>
                </td>
                    <td>
                        <form action="" method="post">
                            <input type="text" name="id" id="id"
                             value="<?php echo $alumno["id"]; ?>">

                            <input type="submit" value="seleccionar"
                            name="accion" />
                            <input type="submit" value="borrar"
                            name="accion" />

                        </form>    
                    </td>
                    </tr>
                   <?php } ?>
                </tbody>
            </table>
           
        </div>
    </div>
</div>

<link href="https://cdn.jsdelivr.net/npm/tom-select@2.0.2/dist/css/tom-select.css" rel="stylesheet">
<script src="https://cdn.jsdelivr.net/npm/tom-select@2.0.2/dist/js/tom-select.complete.min.js"></script>
<script>

new TomSelect('#ListaCursos');
</script>

Comentarios

Entradas populares de este blog

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

Compuertas lógicas

4-SALIDAS