Tabla de contenidos
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>