Capítulo 4. Inclusión de relaciones

Tabla de contenidos

Directorio de Alumnos
Conclusiones

Directorio de Alumnos

index.php de alumnos

          <?php
          //incluimos el fichero config.php para coger los datos de la conexión
          include_once('../config.php');
          //cogemos las variables de las coneción para que se puedan utilizar en el script
          global $server, $database, $user, $passwd;
          //abrimos la conexión
          $conexion = mysql_connect($server,$user,$passwd);
          //elegimos la BBDD
          mysql_select_db ($database, $conexion) OR die ("No se puede conectar");

          ?>
          <html>
            <head>
              <TITLE>Búsqueda de Asignaturas</TITLE>
              <LINK REL="stylesheet" TYPE="text/css"
              HREF="../estilo.css" />
            </head>
            <body>
              <p>Búsqueda de Asignaturas.</p><?php
              // coloca el enlace que permite añadir un alumno
              echo "<p><A HREF='nuevo.php'>Nuevo</A></p>";
              // se inicia el formulario de la búsqueda
              echo "<form method=\"post\" action=\"buscar.php\">";
              // se indica que el campo de busqueda tiene 20 caracteres de longitud
              echo "<input type=\"text\" name=\"busqueda\" size=20 maxlength =100 value=\"".$_POST['busqueda']."\">";
              // se coloca el boton que se paretara para realizar la busqueda
              echo "<input type=\"submit\" name=\"buscar\" value=\"Buscar\"></form><br>";
              // se rellena la busqueda por todos los campos de la tabla, se debe substituir alumnos por el nombre de la tabla y 
              // poner tantos nombre_de_campo LIKE '%".$_POST['busqueda']."%' OR como campos haya.
              $sql="SELECT * FROM asignaturas where nombre LIKE '%".$_POST['busqueda']."%';";
              // se realiza la busqueda
              $result=mysql_query($sql,$conexion);
              //Se comprueba si hay resultados en la busqueda
              if($row= mysql_fetch_array($result)){
              // si hay resultados crea la tabla
              echo "<TABLE BORDER='1'>";
              //pone los campos de la tabla tiene que haber tantos <TD CLASS=\"titulo\">Nombre_de_campo</TD> como campos haya
              echo "<TR><TD CLASS=\"titulo\">Nombre</TD><TD colspan=3  CLASS=\"titulo\">Opciones</TD></TR>";
              //coloca las líneas de la tabla
              DO
              {
              //aqui se ponen tantas líneas <TD width=300 CLASS=\"linea\">".$row["nombre_de_campo"]."</TD> como campos haya en la tabla
              // se coloca el inicio de la fila
              echo "<TR>";
              //se coloca el campos del nombre
              echo "<TD width=300 CLASS=\"linea\">".$row["nombre"]."</TD>";
              //se colocan los enlaces de ver editar y borrar alumno
              echo "<TD CLASS=\"linea\"><A HREF=ver.php?id=".$row['id'].">Ver</A></TD>";
              echo "<TD width=50 CLASS=\"linea\"><A HREF=editar.php?id=".$row['id'].">Editar</A></TD>";
              echo "<TD width=50 CLASS=\"linea\"><A HREF=borrar.php?id=".$row['id'].">Borrar</A></TD>";
              //se termina la fila
              echo "</TR>";
              }
              //Comprueba si se ha terminado de poner líneas
              WHILE ($row=mysql_fetch_array($result));
              //como se ha terminado de poner líneas se acaba la tabla
              echo "</TABLE><br>";
              //coloca el enlace para volver al listado
              echo "<A HREF=\"index.php\">Volver</A>";
              }else{
              //si no hay registros que coincidan con la busqueda se le indica al usuario
              echo "La búsqueda no coincide con ningún registro de la BBDD<BR>";
              //se coloca el enlace del volver al listado
              echo "<A HREF=\"index.php\">Volver</A>";

              }
              ?>
            </body>
          </html>
        

Nótese como en la tercera parte del fichero hay una nueva consulta en busca de los nombres de los tipos de alumno para poder encontrar el nombre de la que está relacionada con cada alumno. Por lo demás es como cualquier otro index.php de directorio.

ver.php de alumnos

          <?php
          //incluimos el fichero config.php para coger los datos de la conexión
          include_once('../config.php');
          //cogemos las variables de las coneción para que se puedan utilizar en el script
          global $server, $database, $user, $passwd;
          //abrimos la conexión
          $conexion = mysql_connect($server,$user,$passwd);
          //elegimos la BBDD
          mysql_select_db ($database, $conexion) OR die ("No se puede conectar");
          //rellenamos la consulta, cambiar alumnos por el nombre de la tabla a listar
          $sql="Select * from alumnos WHERE id=".$_GET['id'].";";
          //re realiza la consulta
          $result=mysql_query($sql,$conexion);
          //print $sql;
          //se coge el registro del alumno
          $row= mysql_fetch_array($result);
          ?>
          <html>
            <head>
              <TITLE>Alumno:<?php echo $row['nombre']; ?></TITLE>
              <LINK REL="stylesheet" TYPE="text/css"
              HREF="../estilo.css" />
            </head>
            <body>
              <?php
              //en esta parte se muestran los campos del alumno
              //se debe añadir líneas tantas como campos tenga la tabla: echo "<p>Nombre de campo:".$row["nombre_de_campo"]."</p>";
              //se muestra el código del alumno
              echo "<p>Código:".$row["id"]."</p>";
              //se muestra el nombre del alumno
              echo "<p>Nombre:".$row["nombre"]."</p>";
              //se muestra el dni del alumno
              echo "<p>DNI:".$row["dni"]."</p>";
              $sql2="Select * from tipos_de_alumno where id_tipo_de_alumno=".$row['id_tipo_de_alumno'].";";
              //echo $sql2;
              //re realiza la consulta para meter en $result2 los tipos de alumnos
              $result2=mysql_query($sql2,$conexion);
              //coloca en $row2 el primer tipo de alumno
              $row2= mysql_fetch_array($result2);
              echo "<p>Tipo de Alumno:".$row2["nombre"]."</p>";
              //se coloca el enlace para que pueda editarse el alumno.
              echo "<p><A HREF=editar.php?id=".$row['id'].">Editar</A></TD></p>";
              // se coloca el enlace para borrar el alumno
              echo "<p><A HREF=borrar.php?id=".$row['id'].">Borrar</A></TD></p>";
              // se coloca el enlace para ver la matriculas de alumno
              echo "<p><A HREF=ver_matriculas.php?id=".$row['id'].">Ver Matriculas</A></TD></p>";
              // se coloca el enlace para ir a listado de alumnos
              echo "<p><A HREF='index.php'>Atras</A></p>";
              ?>
            </body>
          </html>
        

Aquí al final de la tercera parte se ve como se muestra un enlace a un nuevo fichero que permite la visualización de las matrículas de dicho alumno.

editar.php de alumnos

          <?php 
          //incluimos el fichero config.php para coger los datos de la conexi?n
          include_once('../config.php');
          //cogemos las variables de las coneci?n para que se puedan utilizar en el script
          global $server, $database, $user, $passwd;
          //abrimos la conexi?n
          $conexion = mysql_connect($server,$user,$passwd);
          //elegimos la BBDD
          mysql_select_db ($database, $conexion) OR die ("No se puede conectar");
          //rellenamos la consulta, cambiar alumnos por el nombre de la tabla a listar
          $sql="Select * from alumnos WHERE id=".$_GET['id'].";";
          //re realiza la consulta
          $result=mysql_query($sql,$conexion);
          //print $sql;
          //se coge el registro del alumno
          $row= mysql_fetch_array($result);
          ?>
          <html>
            <head>
              <TITLE>Nuevo Alumno</TITLE>
              <LINK REL="stylesheet" TYPE="text/css"
              HREF="../estilo.css" />
            </head>
            <body>
              <?php
              //se mira si se est? enviando el formulario de edici?n del alumno
              if(!isset( $_POST['editar']))
              {
              //Si se est? enviando el formulario
              //echo "<p>Vuelva a intentarlo</p>";
              //se abre el formulario que envia los datos de las modificaciones de ese registro
                              echo "<form method=\"post\" action=\"editar.php?id=".$_GET['id']."\" >";
              // muestra el c?digo del alumno
                              echo "Codigo:".$row['id']."<br>";
              // a partir de aqui se muestran los campos a rellenar en el formulario
              // si se substituye echo "Nombre : <input type=\"text\" name=\"nombre\" value=\"".$row['nombre']."\" maxlength =200 size=40><br>";
              // por echo "Nombre : <input type=\"text\" name=\"nombre_de_campo\" value=\"".$row['nombre']."\" maxlength =longitud_maxima_de_campo 
              //  size=tama?o_dte_la_caja><br>";
              // se muestra la caja del nombre del alumno
                              echo "Nombre : <input type=\"text\" name=\"nombre\" value=\"".$row['nombre']."\" maxlength =200 size=40><br>";
              // se muestra la caja del dni
                              echo "DNI : <input type=\"text\" name=\"dni\" value=\"".$row['dni']."\" maxlength =10 size=10><br>";
              //inicia la combo de los tipos
              echo "Tipo de Alumno:";
              echo "<select name=\"tipo_de_alumno\">";
              //rellena la sql para buscar las asignaturas
              $sql2="Select * from tipos_de_alumno;";
              //re realiza la consulta para meter en $result2 las asignaturas
              $result2=mysql_query($sql2,$conexion);
              //coloca en $row2 la primera asignatura
              $row2= mysql_fetch_array($result2);
              DO
              {
              //coloca la asignatura en el listado
              echo "<option value=\"".$row2['id_tipo_de_alumno']."\"";
              if($row2['id_tipo_de_alumno']==$row['id_tipo_de_alumno'])
                      echo "selected";
              echo ">".$row2['nombre']."</option>";
              }
              //comprueba si hay más tipos de alumno
              while ($row2= mysql_fetch_array($result2));
              //si no hay mas tipos de alumno cierra el listado
              echo "</select> <br><br>";
              // se pone el bot?n de guardar los datos
                              echo "<input type=\"submit\" name=\"editar\" value=\"Guardar\"></form><br>";
              }else{
              // si se env?a el formulario hay que coger los datos del formulario y meterlos en la BBDD
              // aqui se deben a?adir tantos isset($_POST['nombre_de_campo']) && como campos haya en la bbdd
                      if(isset($_POST['nombre']) && isset($_POST['dni']) && isset($_POST['tipo_de_alumno'])){
              //se desactiva el contenido de la variable $sql
                              unset($sql);
              // se rellena la consulta que inserta los datos
              //se ponen tantos `nombre_de_campo` = '".$_POST['nombre_de_campo']."',

                              $sql="UPDATE `alumnos` SET `nombre` = '".$_POST['nombre']."',`dni` = '".$_POST['dni']."',`id_tipo_de_alumno` = '".
                              $_POST['tipo_de_alumno']."' WHERE `id` =".$_GET['id']." LIMIT 1 ;";
                              //echo $sql;
                              //print_r ($_POST);
              //se envia la inserci?n de datos en la BBDD
                              $result=mysql_query($sql,$conexion);
              //Se informa por la p?gina web que el alumno ha sido modificado
                              echo "<p>Alumno Modificado</p>";
              //se coloca el bot?n que hace volver al listado de alumnos
                              echo "<p><A HREF='index.php'>Volver</A></p>";
                      }else{
                      // se informa al usuario que no se han rellenado los campos
              print_r($_POST);
                      echo "Vuelva a intentarlo.<br>";
                      //se abre el formulario que envia los datos de las modificaciones de ese registro
                              echo "<form method=\"post\" action=\"editar.php?id=".$_GET['id']."\" >";
              // muestra el c?digo del alumno
                              echo "Codigo:".$row['id']."<br>";
              // a partir de aqui se muestran los campos a rellenar en el formulario
              // si se substituye echo "Nombre : <input type=\"text\" name=\"nombre\" value=\"".$row['nombre']."\" maxlength =200 size=40><br>";
              // por echo "Nombre : <input type=\"text\" name=\"nombre_de_campo\" value=\"".$row['nombre']."\" maxlength =longitud_maxima_de_campo 
              // size=tama?o_dte_la_caja><br>";
              // se muestra la caja del nombre del alumno
                              echo "Nombre : <input type=\"text\" name=\"nombre\" value=\"".$row['nombre']."\" maxlength =200 size=40><br>";
              // se muestra la caja del dni
                              echo "DNI : <input type=\"text\" name=\"dni\" value=\"".$row['dni']."\" maxlength =10 size=10><br>";
              // se pone el bot?n de guardar los datos
                              echo "<input type=\"submit\" name=\"editar\" value=\"Guardar\"></form><br>";    
                      }
              }
              ?>
            </body>
          </html>
        

Cabe destacar la segúnda búsqueda en la tabla de tipos de alumno para ocnstuir el tag select (combobox)

borrar.php de alumnos

          <?php 
          //incluimos el fichero config.php para coger los datos de la conexión
          include_once('../config.php');
          //cogemos las variables de las coneción para que se puedan utilizar en el script
          global $server, $database, $user, $passwd;
          //abrimos la conexión
          $conexion = mysql_connect($server,$user,$passwd);
          //elegimos la BBDD
          mysql_select_db ($database, $conexion) OR die ("No se puede conectar");
          //rellenamos la consulta, cambiar alumnos por el nombre de la tabla a listar
          $sql="Select * from alumnos WHERE id=".$_GET['id'].";";
          //re realiza la consulta
          $result=mysql_query($sql,$conexion);
          //print $sql;
          //se coge el registro del alumno
          $row= mysql_fetch_array($result);
          ?>
          <html>
            <head>
              <TITLE>Borrar Alumno</TITLE>
              <LINK REL="stylesheet" TYPE="text/css"
              HREF="../estilo.css" />
            </head>
            <body>
              <?php
              // se rellena la consulta que borra el alumno se substituye alumno por el nombre de la tabla 
              $sql="DELETE from `alumnos` WHERE `id` =".$_GET['id']." LIMIT 1 ;";
              //echo $sql;
              // se ejecuta la consulta se borrado
              $result=mysql_query($sql,$conexion);
              // se informa de que se ha eliminado un alumno
              echo "<p>Alumno eliminado</p>";
              // se coloca el enlace que permite volver al listado
              echo "<p><A HREF='index.php'>Volver</A></p>";

              ?>
            </body>
          </html>
        

buscar.php de alumnos

          <?php
          //incluimos el fichero config.php para coger los datos de la conexión
          include_once('../config.php');
          //cogemos las variables de las coneción para que se puedan utilizar en el script
          global $server, $database, $user, $passwd;
          //abrimos la conexión
          $conexion = mysql_connect($server,$user,$passwd);
          //elegimos la BBDD
          mysql_select_db ($database, $conexion) OR die ("No se puede conectar");

          ?>
          <html>
            <head>
              <TITLE>Búsqueda de Alumnos</TITLE>
              <LINK REL="stylesheet" TYPE="text/css"
              HREF="../estilo.css" />
            </head>
            <body>
              <p>Búsqueda de Alumnos.</p><?php
              // coloca el enlace que permite añadir un alumno
              echo "<p><A HREF='nuevo.php'>Nuevo</A></p>";
              // se inicia el formulario de la búsqueda
              echo "<form method=\"post\" action=\"buscar.php\">";
              // se indica que el campo de busqueda tiene 20 caracteres de longitud
              echo "<input type=\"text\" name=\"busqueda\" size=20 maxlength =20 value=\"".$_POST['busqueda']."\">";
              // se coloca el boton que se paretara para realizar la busqueda
              echo "<input type=\"submit\" name=\"buscar\" value=\"Buscar\"></form><br>";
              // se rellena la busqueda por todos los campos de la tabla, se debe substituir alumnos por el nombre de la tabla y poner tantos nombre_de_campo LIKE '%".$_POST['busqueda']."%' OR como campos haya.
              $sql="SELECT * FROM alumnos where nombre LIKE '%".$_POST['busqueda']."%' OR dni LIKE '%".$_POST['busqueda']."%';";
              // se realiza la busqueda
              $result=mysql_query($sql,$conexion);
              //Se comprueba si hay resultados en la busqueda
              if($row= mysql_fetch_array($result)){
              // si hay resultados crea la tabla
              echo "<TABLE BORDER='1'>";
              //pone los campos de la tabla tiene que haber tantos <TD CLASS=\"titulo\">Nombre_de_campo</TD> como campos haya
              echo "<TR><TD CLASS=\"titulo\">Nombre</TD><TD CLASS=\"titulo\">DNI</TD><TD colspan=3  CLASS=\"titulo\">Opciones</TD></TR>";
              //coloca las líneas de la tabla
              DO
              {
              //aqui se ponen tantas líneas <TD width=300 CLASS=\"linea\">".$row["nombre_de_campo"]."</TD> como campos haya en la tabla
              // se coloca el inicio de la fila
              echo "<TR>";
              //se coloca el campos del nombre
              echo "<TD width=300 CLASS=\"linea\">".$row["nombre"]."</TD>";
              //se coloca el campo del dni
              echo "<TD width=160 CLASS=\"linea\">".$row["dni"]."</TD>";
              //se colocan los enlaces de ver editar y borrar alumno
              echo "<TD CLASS=\"linea\"><A HREF=ver.php?id=".$row['id'].">Ver</A></TD>";
              echo "<TD width=50 CLASS=\"linea\"><A HREF=editar.php?id=".$row['id'].">Editar</A></TD>";
              echo "<TD width=50 CLASS=\"linea\"><A HREF=borrar.php?id=".$row['id'].">Borrar</A></TD>";
              //se termina la fila
              echo "</TR>";
              }
              //Comprueba si se ha terminado de poner líneas
              WHILE ($row=mysql_fetch_array($result));
              //como se ha terminado de poner líneas se acaba la tabla
              echo "</TABLE><br>";
              //coloca el enlace para volver al listado
              echo "<A HREF=\"index.php\">Volver</A>";
              }else{
              //si no hay registros que coincidan con la busqueda se le indica al usuario
              echo "La búsqueda no coincide con ningún registro de la BBDD<BR>";
              //se coloca el enlace del volver al listado
              echo "<A HREF=\"index.php\">Volver</A>";

              }
              ?>
            </body>
          </html>
        

nuevo.php de alumnos

          <?php 
          //incluimos el fichero config.php para coger los datos de la conexión
          include_once('../config.php');
          //cogemos las variables de las coneción para que se puedan utilizar en el script
          global $server, $database, $user, $passwd;
          //abrimos la conexión
          $conexion = mysql_connect($server,$user,$passwd);
          //elegimos la BBDD
          mysql_select_db ($database, $conexion) OR die ("No se puede conectar");

          ?>
          <html>
            <head>
              <TITLE>Nuevo Alumno</TITLE>
              <LINK REL="stylesheet" TYPE="text/css"
              HREF="../estilo.css" />
            </head>
            <body>
              <?php
              //comprueba si se entas enviando datos para guardar
              //si no es asi es que tiene que presentar el formulario
              if(!isset( $_POST['nuevo']))
              {
              //coloca el principio del formulario para que vuelva al mismo script cuando se rellene
                      echo "<form method=\"post\" action=\"nuevo.php\">";
              //aqui se deben poner tantas líneas echo como campos haya
              //cambiando el echo "Nombre : <input type=\"text\" name=\"nombre\" maxlength=200 size=40><br>";
              // por echo "Nombre : <input type=\"text\" name=\"nombre_campo\" maxlength=longitud_campo size=tamaño_caja_texto><br>";
              // se muestra la caja del nombre del alumno
                              echo "Nombre : <input type=\"text\" name=\"nombre\" maxlength =100 size=40><br>";
              // se muestra la caja del dni del alumno
                              echo "DNI : <input type=\"text\" name=\"dni\" maxlength =15 size=9><br>";
              //inicia la combo de los tipos
              echo "Tipo de Alumno:";
              echo "<select name=\"tipo_de_alumno\">";
              //rellena la sql para buscar las asignaturas
              $sql2="Select * from tipos_de_alumno;";
              //re realiza la consulta para meter en $result2 las asignaturas
              $result2=mysql_query($sql2,$conexion);
              //coloca en $row2 la primera asignatura
              $row2= mysql_fetch_array($result2);
              DO
              {
              //coloca la asignatura en el listado
              echo "<option value=\"".$row2['id_tipo_de_alumno']."\">".$row2['nombre']."</option>";
              }
              //comprueba si hay más tipos de alumno
              while ($row2= mysql_fetch_array($result2));
              //si no hay mas tipos de alumno cierra el listado
              echo "</select> <br><br>";
              ////se coloca el botón de guardar
                      echo "<input type=\"submit\" name=\"nuevo\" value=\"Guardar\"></form><br>";
              }else{
              //si se han metido los datos en el formulario
              //se deben colocar tantos isset($_POST['nombre_campo']) && como campos haya en la tabla
                      if(isset($_POST['nombre']) && isset($_POST['dni']) &&  isset($_POST['tipo_de_alumno'])){
              //en esta linea se ponen los nombres de los campos separados por comas y en la parte de values lo mismo pero con variables $_POST['nombre_campo']
              //se reinician las variables de la busqueda
              unset($result2);
              unset($row2);

              //rellena la sql para buscar las asignaturas
              $sql2="Select * from tipos_de_alumno;";
              //echo $sql2;
              //re realiza la consulta para meter en $result2 las asignaturas
              $result2=mysql_query($sql2,$conexion);
              //echo $result2;
              //coloca en $row2 la primera asignatura
              $row2= mysql_fetch_array($result2);
              //busca que id tiene la asignatura
              DO
              {
              //si el nombre coincide con el elegido en el formulario coge el nombre y el id de la asignatura
              if($row2['id_tipo_de_alumno']==$_POST['tipo_de_alumno']){
                      //echo "hemos entrao!!";
                      $nombre_asig=$row2['nombre'];
                      //echo $nombre_asig;
                      $id_tipo_de_alumno=$row2['id_tipo_de_alumno'];
                      //echo $id_asig;
                      break;
              }
              }
              //comprueba si hay más asignaturas
              while ($row2= mysql_fetch_array($result2));             
              $sql="INSERT INTO `alumnos` ( `id` , `nombre` , `dni`, `id_tipo_de_alumno` )
                              VALUES (NULL , '".$_POST['nombre']."' , '".$_POST['dni']."', '".$id_tipo_de_alumno."');";
                              //echo $sql;
              //se ejecuta la inserción de datos
                              $result=mysql_query($sql,$conexion);
              //se informa de que se añadido un nuevo alumno
                              echo "<p>Alumno Añadido</p>";
              //se coloca el enlace que permite volver al listado
                              echo "<p><A HREF='index.php'>Volver</A></p>";
                      }else{
              // si no nos han metido campos
                              echo "<p>Vuelva a intentarlo</p>";
              // se vuelve a colocar el formulario con los mismos campos que ahora, la diferenia es que se pone tantas veces como campos haya en los VALUE el $_POST['nombre_de_campo'] para que no haya que volver a teclearlo
                      
                      echo "<form method=\"post\" action=\"nuevo.php?id=".$_GET['id']."\">";
              //aqui se deben poner tantas líneas echo como campos haya
              //cambiando el echo "Nombre : <input type=\"text\" name=\"nombre\" maxlength=200 size=40><br>";
              // por echo "Nombre : <input type=\"text\" name=\"nombre_campo\" maxlength=longitud_campo size=tamaño_caja_texto><br>";
              // se muestra la caja del nombre del alumno
                              echo "Nombre : <input type=\"text\" name=\"nombre\" maxlength =100 size=40><br>";
              // se muestra la caja del dni del alumno
                              echo "DNI : <input type=\"text\" name=\"nombre\" maxlength =15 size=9><br>";
              //inicia la combo de los tipos
              echo "<select name=\"tipo_de_alumno\">";
              //rellena la sql para buscar las asignaturas
              $sql2="Select * from tipos_de_alumno;";
              //re realiza la consulta para meter en $result2 las asignaturas
              $result2=mysql_query($sql2,$conexion);
              //coloca en $row2 la primera asignatura
              $row2= mysql_fetch_array($result2);
              DO
              {
              //coloca la asignatura en el listado
              echo "<option value=\"".$row2['id_tipo_de_alumno']."\">".$row2['nombre']."</option>";
              }
              //comprueba si hay más tipos de alumno
              while ($row2= mysql_fetch_array($result2));
              //si no hay mas tipos de alumno cierra el listado
              echo "</select> <br><br>";
              ////se coloca el botón de guardar
                      echo "<input type=\"submit\" name=\"nuevo\" value=\"Guardar\"></form><br>";
                      }
              }
              ?>
            </body>
          </html>
        

Cabe destacar la segúnda búsqueda en la tabla de tipos de alumno para ocnstuir el tag select (combobox)

matricular.php alumnos

          <?php
          //incluimos el fichero config.php para coger los datos de la conexión
          include_once('../config.php');
          //cogemos las variables de las coneción para que se puedan utilizar en el script
          global $server, $database, $user, $passwd;
          //abrimos la conexión
          $conexion = mysql_connect($server,$user,$passwd);
          //elegimos la BBDD
          mysql_select_db ($database, $conexion) OR die ("No se puede conectar");
          //rellenamos la consulta, cambiar alumnos por el nombre de la tabla a listar
          $sql="Select * from alumnos WHERE id=".$_GET['id'].";";
          //print $sql;
          //re realiza la consulta
          $result=mysql_query($sql,$conexion);
          //mete el alumno en la variable $row
          $row= mysql_fetch_array($result);

          //print $sql2;
          ?>
          <html>
            <head>
              <TITLE>Matricular
              Alumno:<?php echo $row['nombre']; ?></TITLE>
              <LINK REL="stylesheet" TYPE="text/css"
              HREF="../estilo.css" />
            </head>
            <body>
              <?php
              //comprueba si se entas enviando datos para guardar
              //si no es asi es que tiene que presentar el formulario
              if(!isset( $_POST['nuevo']))
              {
              //coloca el principio del formulario para que vuelva al mismo script cuando se rellene
                      echo "<form method=\"post\" action=\"matricular.php?id=".$_GET['id']."\">";
              //aqui se deben poner tantas líneas echo como campos haya
              //cambiando el echo "Nombre : <input type=\"text\" name=\"nombre\" maxlength=200 size=40><br>";
              // por echo "Nombre : <input type=\"text\" name=\"nombre_campo\" maxlength=longitud_campo size=tamaño_caja_texto><br>";
              //se muestra el código del alumno
              echo "<p>Código:".$row["id"]."</p>";
              //se muestra el nombre del alumno
              echo "<p>Nombre:".$row["nombre"]."</p>";
                      
              //se coloca la caja oculta con el id del alumno
                      echo "<input type=\"hidden\" name=\"id_alum\" value=\"".$row['id']."\">";
              //inicia la combo de las asignaturas
              echo "<select name=\"asignatura\">";
              //rellena la sql para buscar las asignaturas
              $sql2="Select * from asignaturas;";
              //re realiza la consulta para meter en $result2 las asignaturas
              $result2=mysql_query($sql2,$conexion);
              //coloca en $row2 la primera asignatura
              $row2= mysql_fetch_array($result2);
              DO
              {
              //coloca la asignatura en el listado
              echo "<option value=\"".$row2['id']."\">".$row2['nombre']."</option>";
              }
              //comprueba si hay más asignaturas
              while ($row2= mysql_fetch_array($result2));
              //si no hay mas asignatutas cierra el listado de asignaturas
              echo "</select> <br><br>";
              ////se coloca el botón de guardar
                      echo "<input type=\"submit\" name=\"nuevo\" value=\"Guardar\"></form><br>";
              }else{
              //si se han metido los datos en el formulario
              //se deben colocar tantos isset($_POST['nombre_campo']) && como campos haya en la tabla
                      if(isset($_POST['id_alum']) && isset($_POST['asignatura'])){

              //se reinician las variables de la busqueda
              unset($result2);
              unset($row2);

              //rellena la sql para buscar las asignaturas
              $sql2="Select * from asignaturas;";
              //echo $sql2;
              //re realiza la consulta para meter en $result2 las asignaturas
              $result2=mysql_query($sql2,$conexion);
              //echo $result2;
              //coloca en $row2 la primera asignatura
              $row2= mysql_fetch_array($result2);
              //busca que id tiene la asignatura
              DO
              {
              //si el nombre coincide con el elegido en el formulario coge el nombre y el id de la asignatura
              if($row2['id']==$_POST['asignatura']){
                      //echo "hemos entrao!!";
                      $nombre_asig=$row2['nombre'];
                      //echo $nombre_asig;
                      $id_asig=$row2['id'];
                      //echo $id_asig;
                      break;
              }
              }
              //comprueba si hay más asignaturas
              while ($row2= mysql_fetch_array($result2));


                              $sql="INSERT INTO `matriculas` ( `id_mat` , `id_alum` , `id_asig` )
                              VALUES (NULL , ".$_POST['id_alum']." , ".$_POST['asignatura'].")";
                              //echo $sql;
              //se ejecuta la inserción de datos
                              $result=mysql_query($sql,$conexion);
              //se informa de que se añadido un nuevo alumno
                              echo "<p>Matrícula añadida del alumno ".$row['nombre']." en la asignatura ".$nombre_asig."</p>";
              //se coloca el enlace que permite volver al listado
                              echo "<p><A HREF='ver_matriculas.php?id=".$_GET['id']."'>Volver</A></p>";
                      }else{
              // si no nos han metido campos
                              echo "<p>Vuelva a intentarlo</p>";
              // se vuelve a colocar el formulario con los mismos campos que ahora, la diferenia es que se pone tantas veces como campos haya en los VALUE el $_POST['nombre_de_campo'] para que no haya que volver a teclearlo
                      echo "<form method=\"post\" action=\"matricular.php\">";
              //aqui se deben poner tantas líneas echo como campos haya
              //cambiando el echo "Nombre : <input type=\"text\" name=\"nombre\" maxlength=200 size=40><br>";
              // por echo "Nombre : <input type=\"text\" name=\"nombre_campo\" maxlength=longitud_campo size=tamaño_caja_texto><br>";
              //se muestra el código del alumno
              echo "<p>Código:".$row["id"]."</p>";
              //se muestra el nombre del alumno
              echo "<p>Nombre:".$row["nombre"]."</p>";
                      
              //se coloca la caja oculta con el id del alumno
                      echo "id : <input type=\"hidden\" name=\"id_alum\" value=\"".$row['id']."\"><br>";
              //inicia la combo de las signaturas
              echo "<select name=\"asignatura\">";
              //rellena la sql para buscar las asignaturas
              $sql2="Select * from asignaturas;";
              //re realiza la consulta para meter en $result2 las asignaturas
              $result2=mysql_query($sql2,$conexion);
              //coloca en $row2 la primera asignatura
              $row2= mysql_fetch_array($result2);
              DO
              {
              //coloca la asignatura en el listado
              echo "<option>".$row2['nombre']."</option>";
              }
              //comprueba si hay más asignaturas
              while ($row2= mysql_fetch_array($result2));
              //si no hay mas asignatutas cierra el listado de asignaturas
              echo "</select> ";
              ////se coloca el botón de guardar
                      echo "<input type=\"submit\" name=\"nuevo\" value=\"Guardar\"></form><br>";
                      }
              }
              ?>
            </body>
          </html>
        

Este es un caso un poco peculiar, ya que dado un alumno se le intenta matricular en alguna de las asignaturas disponibles. Por lo tanto debe buscar todas las asignaturas y colocarlas en el select. Y luego hacer la insercción en la tabla de relaciones (matriculas).

ver_matriculas.php alumnos

          <?php
          //incluimos el fichero config.php para coger los datos de la conexión
          include_once('../config.php');
          //cogemos las variables de las coneción para que se puedan utilizar en el script
          global $server, $database, $user, $passwd;
          //abrimos la conexión
          $conexion = mysql_connect($server,$user,$passwd);
          //elegimos la BBDD
          mysql_select_db ($database, $conexion) OR die ("No se puede conectar");
          //rellenamos la consulta, cambiar alumnos por el nombre de la tabla a listar
          $sql="Select * from alumnos WHERE id=".$_GET['id'].";";
          //print $sql;
          //re realiza la consulta
          $result=mysql_query($sql,$conexion);
          //mete el alumno en la variable $row
          $row= mysql_fetch_array($result);

          //print $sql2;
          ?>
          <html>
            <head>
              <TITLE>Matricular
              Alumno:<?php echo $row['nombre']; ?></TITLE>
              <LINK REL="stylesheet" TYPE="text/css"
              HREF="../estilo.css" />
            </head>
            <body>
              <?php
              //comprueba si se entas enviando datos para guardar
              //si no es asi es que tiene que presentar el formulario
              if(!isset( $_POST['nuevo']))
              {
              //coloca el principio del formulario para que vuelva al mismo script cuando se rellene
                      echo "<form method=\"post\" action=\"matricular.php?id=".$_GET['id']."\">";
              //aqui se deben poner tantas líneas echo como campos haya
              //cambiando el echo "Nombre : <input type=\"text\" name=\"nombre\" maxlength=200 size=40><br>";
              // por echo "Nombre : <input type=\"text\" name=\"nombre_campo\" maxlength=longitud_campo size=tamaño_caja_texto><br>";
              //se muestra el código del alumno
              echo "<p>Código:".$row["id"]."</p>";
              //se muestra el nombre del alumno
              echo "<p>Nombre:".$row["nombre"]."</p>";
                      
              //se coloca la caja oculta con el id del alumno
                      echo "<input type=\"hidden\" name=\"id_alum\" value=\"".$row['id']."\">";
              //inicia la combo de las asignaturas
              echo "<select name=\"asignatura\">";
              //rellena la sql para buscar las asignaturas
              $sql2="Select * from asignaturas;";
              //re realiza la consulta para meter en $result2 las asignaturas
              $result2=mysql_query($sql2,$conexion);
              //coloca en $row2 la primera asignatura
              $row2= mysql_fetch_array($result2);
              DO
              {
              //coloca la asignatura en el listado
              echo "<option value=\"".$row2['id']."\">".$row2['nombre']."</option>";
              }
              //comprueba si hay más asignaturas
              while ($row2= mysql_fetch_array($result2));
              //si no hay mas asignatutas cierra el listado de asignaturas
              echo "</select> <br><br>";
              ////se coloca el botón de guardar
                      echo "<input type=\"submit\" name=\"nuevo\" value=\"Guardar\"></form><br>";
              }else{
              //si se han metido los datos en el formulario
              //se deben colocar tantos isset($_POST['nombre_campo']) && como campos haya en la tabla
                      if(isset($_POST['id_alum']) && isset($_POST['asignatura'])){

              //se reinician las variables de la busqueda
              unset($result2);
              unset($row2);

              //rellena la sql para buscar las asignaturas
              $sql2="Select * from asignaturas;";
              //echo $sql2;
              //re realiza la consulta para meter en $result2 las asignaturas
              $result2=mysql_query($sql2,$conexion);
              //echo $result2;
              //coloca en $row2 la primera asignatura
              $row2= mysql_fetch_array($result2);
              //busca que id tiene la asignatura
              DO
              {
              //si el nombre coincide con el elegido en el formulario coge el nombre y el id de la asignatura
              if($row2['id']==$_POST['asignatura']){
                      //echo "hemos entrao!!";
                      $nombre_asig=$row2['nombre'];
                      //echo $nombre_asig;
                      $id_asig=$row2['id'];
                      //echo $id_asig;
                      break;
              }
              }
              //comprueba si hay más asignaturas
              while ($row2= mysql_fetch_array($result2));


                              $sql="INSERT INTO `matriculas` ( `id_mat` , `id_alum` , `id_asig` )
                              VALUES (NULL , ".$_POST['id_alum']." , ".$_POST['asignatura'].")";
                              //echo $sql;
              //se ejecuta la inserción de datos
                              $result=mysql_query($sql,$conexion);
              //se informa de que se añadido un nuevo alumno
                              echo "<p>Matrícula añadida del alumno ".$row['nombre']." en la asignatura ".$nombre_asig."</p>";
              //se coloca el enlace que permite volver al listado
                              echo "<p><A HREF='ver_matriculas.php?id=".$_GET['id']."'>Volver</A></p>";
                      }else{
              // si no nos han metido campos
                              echo "<p>Vuelva a intentarlo</p>";
              // se vuelve a colocar el formulario con los mismos campos que ahora, la diferenia es que se pone tantas veces como campos haya en los VALUE el $_POST['nombre_de_campo'] para que no haya que volver a teclearlo
                      echo "<form method=\"post\" action=\"matricular.php\">";
              //aqui se deben poner tantas líneas echo como campos haya
              //cambiando el echo "Nombre : <input type=\"text\" name=\"nombre\" maxlength=200 size=40><br>";
              // por echo "Nombre : <input type=\"text\" name=\"nombre_campo\" maxlength=longitud_campo size=tamaño_caja_texto><br>";
              //se muestra el código del alumno
              echo "<p>Código:".$row["id"]."</p>";
              //se muestra el nombre del alumno
              echo "<p>Nombre:".$row["nombre"]."</p>";
                      
              //se coloca la caja oculta con el id del alumno
                      echo "id : <input type=\"hidden\" name=\"id_alum\" value=\"".$row['id']."\"><br>";
              //inicia la combo de las signaturas
              echo "<select name=\"asignatura\">";
              //rellena la sql para buscar las asignaturas
              $sql2="Select * from asignaturas;";
              //re realiza la consulta para meter en $result2 las asignaturas
              $result2=mysql_query($sql2,$conexion);
              //coloca en $row2 la primera asignatura
              $row2= mysql_fetch_array($result2);
              DO
              {
              //coloca la asignatura en el listado
              echo "<option>".$row2['nombre']."</option>";
              }
              //comprueba si hay más asignaturas
              while ($row2= mysql_fetch_array($result2));
              //si no hay mas asignatutas cierra el listado de asignaturas
              echo "</select> ";
              ////se coloca el botón de guardar
                      echo "<input type=\"submit\" name=\"nuevo\" value=\"Guardar\"></form><br>";
                      }
              }
              ?>
            </body>
          </html>
        

borrar_matricula.php alumnos

          <?php 
          //incluimos el fichero config.php para coger los datos de la conexión
          include_once('../config.php');
          //cogemos las variables de las coneción para que se puedan utilizar en el script
          global $server, $database, $user, $passwd;
          //abrimos la conexión
          $conexion = mysql_connect($server,$user,$passwd);
          //elegimos la BBDD
          mysql_select_db ($database, $conexion) OR die ("No se puede conectar");
          //rellenamos la consulta, cambiar alumnos por el nombre de la tabla a listar
          $sql="Select * from matriculas WHERE id_mat=".$_GET['id'].";";
          //re realiza la consulta
          $result=mysql_query($sql,$conexion);
          //print $sql;
          //se coge el registro del alumno
          $row= mysql_fetch_array($result);
          ?>
          <html>
            <head>
              <TITLE>Borrar Alumno</TITLE>
              <LINK REL="stylesheet" TYPE="text/css"
              HREF="../estilo.css" />
            </head>
            <body>
              <?php
              // se rellena la consulta que borra el alumno se substituye alumno por el nombre de la tabla 
              $sql="DELETE from `matriculas` WHERE `id_mat` =".$_GET['id']." LIMIT 1 ;";
              //echo $sql;
              // se ejecuta la consulta se borrado
              $result=mysql_query($sql,$conexion);
              // se informa de que se ha eliminado un alumno
              echo "<p>Matrícula eliminada</p>";
              // se coloca el enlace que permite volver al listado
              echo "<p><A HREF='ver_matriculas.php?id=".$_GET['id_alum']."'>Volver</A></p>";

              ?>
            </body>
          </html>