Temas > Programacion > Php > INSERT usando una consulta previa a una tabla php
Julio

INSERT usando una consulta previa a una 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.
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 
código 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>













¿Has olviado tu contraseña?

Pulsa aquí para registrate




Google






LunMarMieJueVieSabDom
    123
45678910
11121314151617
181920 21222324
252627282930 

Jueves 21 de Noviembre 2024
Semana 47

..............................................................................................................................................................................................................................................
(Contacto)..
Esta web utiliza cookies para obtener datos estadísticos de la navegación de sus usuarios. Política de privacidad y Aviso legal