Búsqueda personalizada
 
 
 
 
INSERT (y consulta de otra tabla)
   

Ahora vamos a ver como resolver el problema del alta de un alumno seleccionando el curso de la tabla "cursos".

Es decir, el formulario de carga de datos no es HTML puro ya que debemos cargar el control "select" con los datos de la tabla cursos.

La tabla Cursos es la siguiente:

CREATE TABLE cursos ( 
  codigo int(11) NOT NULL auto_increment, 
  nombrecur varchar(50) default NULL, 
 PRIMARY KEY (`codigo`) 
)

El código por lo tanto queda de la siguiente forma:

<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>
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> 

El algoritmo es similar a cuando trabajamos con una tabla, pero el control "select" lo cargamos con los datos de la tabla "cursos":

while ($reg=mysql_fetch_array($registros))
{
  echo "<option value=\"$reg[codigo]\">$reg[nombrecur]</option>";
}

Dentro del while generamos todas las opciones que contiene el "select" imprimiendo el campo nombrecur y asociando el campo codigo a la propiedad value(que es en definitiva el código que necesitamos rescatar en la otra página)
La página que efectúa el insert es exactamente la misma que vimos anteriormente:

<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");
mysql_query("insert into alumnos(nombre,mail,codigocurso) values 
            ('$_REQUEST[nombre]', '$_REQUEST[mail]',
             $_REQUEST[codigocurso])", $conexion) or
  die("Problemas en el select".mysql_error());
mysql_close($conexion);
echo "El alumno fue dado de alta.";
?>
</body>
</html>
 
 
       
       

¿Quienes somos?

Condiciones de uso

Publicidad

Privacidad de la informacion