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>