<html>
<head>
<title>Problema</title>
</head>
<body>
<form action="pagina2.php" method="post">
Ingrese nombre:
<input type="text" name="nombre"><br>
Ingrese mail:
<input type="text" name="mail"><br>
Ingrese la fecha de nacimiento (dd/mm/aaaa):
<input type="text" name="dia" size="2">
<input type="text" name="mes" size="2">
<input type="text" name="anio" size="4">
<br>
Seleccione el curso:
<select name="codigocurso">
<?php
$conexion=mysql_connect("localhost","root","z80") or
die("Problemas en la conexion");
mysql_select_db("phpfacil",$conexion) or
die("Problemas en la selección de la base de datos");
$registros=mysql_query("select codigo,nombrecur from cursos",$conexion) or
die("Problemas en el select:".mysql_error());
while ($reg=mysql_fetch_array($registros))
{
echo "<option value=\"$reg[codigo]\">$reg[nombrecur]</option>";
}
?>
</select>
<br>
<input type="submit" value="Registrar">
</form>
</body>
</html>
Lo único que podemos decir, es que agregamos tres controles de tipo "text" para el ingreso independiente del día, el mes y el año.
El segundo formulario, y más importante, es el alta propiamente dicha en la tabla alumnos:
<html>
<head>
<title>Problema</title>
</head>
<body>
<?php
$conexion=mysql_connect("localhost","root","z80") or
die("Problemas en la conexion");
mysql_select_db("phpfacil",$conexion) or
die("Problemas en la seleccion de la base de datos");
$fechanacimiento=$_REQUEST['anio']."-".$_REQUEST['mes']."-".$_REQUEST['dia'];
mysql_query("insert into alumnos(nombre,mail,codigocurso,fechanac) values
('$_REQUEST[nombre]','$_REQUEST[mail]',
$_REQUEST[codigocurso],'$fechanacimiento')", $conexion) or
die("Problemas en el select".mysql_error());
mysql_close($conexion);
echo "El alumno fue dado de alta.";
?>
<br>
<a href="pagina3.php">ver listado de alumnos</a>
</body>
</html>
Lo primero que hacemos es generar una string que contenga el año-mes-día, en ese orden y utilizando como separador el caracter "-":
$fechanacimiento=$_REQUEST['anio']."-".$_REQUEST['mes']."-".$_REQUEST['dia'];
Tenemos ahora en la variable $fechanacimiento el valor de la fecha ingresada por teclado con el formato que requiere el MySql, procedemos ahora a plantear el comando insert con todos los datos ingresados en el formulario:
mysql_query("insert into alumnos(nombre,mail,codigocurso,fechanac) values
('$_REQUEST[nombre]','$_REQUEST[mail]',
$_REQUEST[codigocurso],'$fechanacimiento')", $conexion) or
die("Problemas en el select".mysql_error());
Por último, dispusimos un hipervínculo a una tercera página donde mostramos el contenido de la tabla alumnos, aquí podremos controlar los datos ingresados.
No hemos validado la fecha ingresada, tarea obligatoria cuando implementemos un sitio real.
El último archivo contiene la página que imprime el contenido de la tabla alumnos, con el campo fechanac inclusive:
<html>
<head>
<title>Problema</title>
</head>
<body>
<?php
$conexion=mysql_connect("localhost","root","z80") or
die("Problemas en la conexion");
mysql_select_db("phpfacil",$conexion) or
die("Problemas en la selección de la base de datos");
$registros=mysql_query("select alu.codigo as codigo,nombre,mail,
codigocurso,fechanac,nombrecur from alumnos as alu
inner join cursos as cur on cur.codigo=alu.codigocurso",
$conexion) or
die("Problemas en el select:".mysql_error());
while ($reg=mysql_fetch_array($registros))
{
echo "Codigo:".$reg['codigo']."<br>";
echo "Nombre:".$reg['nombre']."<br>";
echo "Mail:".$reg['mail']."<br>";
echo "Fecha de Nacimiento:".$reg['fechanac']."<br>";
echo "Curso:".$reg['nombrecur']."<br>";
echo "<hr>";
}
mysql_close($conexion);
?>
</body>
</html>
|