Buenas Noches,
Necesito ayuda super urgente, sobre este tema:
- En un formulario de registro, de proyectos, se ingresan los siguientes datos:
Id del trabajo, el titulo, autor, resumen, palabras claves (3 o 4), modalidad, fecha.
- En un combobox se muestra el nombre del director, esto se trae de la tabla director que está en la bd mysql y debo almacenar en otra tabla el Id del nombre del director.
- En un segundo combobox, se muestra el nombre de la carrera, esto se trae de la tabla programa que está en la bd mysql y debo almacenar en otra tabla el Id de la carrera.
- En un tercer combobox, se selecciona el nombre del archivo que se trae de la tabla archivo de la base de datos mysql.
Una vez tengo todos los datos listos, debo hacer un solo insert a la tabla trabajogrado.
El problema es que no sabemos como guardar la selección de los combobox en la tabla trabajo de grado sabiendo que se selecciona y se guarda el ID, de cada unos de los datos mencionados anteriormente.
Adjuntamos el código trabajado hasta el momento.
En un archivo llamado conexion.php, tenemos los datos de la conexion a la bd.
<?php
$host = "localhost";
$user = "root";
$pw = "";
$db = "proyfinal";
?>
En el archivo formulario.php, se hace la captura de los datos para insertar posteriormente.
!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Documento sin título</title>
</head>
<body>
<?php
$conexion= mysql_connect("localhost","root","");
mysql_select_db("proyfinal",$conexion);
$sentencia= "select * from director order by nombre asc";
$sentencia1= "select * from programa order by nombre asc";
$sentencia2= "select * from archivo order by nombre asc";
$que=mysql_query($sentencia);
$que1=mysql_query($sentencia1);
$que2=mysql_query($sentencia2);
?>
<form action="insertar.php" method="POST" name="form">
<p><center> <font color="blue"><font face="Monotype Corsiva" size="14">formulario para trabajo de grado:</p></FONT>
</FONT>
<font face="Monotype Corsiva" size="6"><p> id_trabajo:
<input name="id_trab" type="text"/>
</p>
<p> titulo:
<input name="titulo" type="text" />
</p>
<p> autor:
<input name="autor" type="text" />
</p>
<p> director:
<select name="id_director" size="0">
<?php while($arreglo= mysql_fetch_array($que)){ ?>
<option value="<?php echo $arreglo['0']?> "> <?php echo $arreglo ['1']?></option>
<?php echo "<option value=".$valor.">".$nombre."</option>";} ?>
</select>
</p>
<p> programa:
<select name="id_programa" size="0">
<?php while($arreglo1= mysql_fetch_array($que1)){ ?>
<option value="<?php echo $arreglo1['0']?> "> <?php echo $arreglo1 ['1']?></option>
<?php } ?>
</select>
</p>
<p>resumen:
<input name="resumen" type="text" />
</p>
<p>palabras claves:
<input name="PALABCLAVE" type="text" />
</p>
<p>modalidad:
<input name="MODALIDAD" type="text" />
</p>
<p>fecha:
<input name="FECHA" type="text" />
</p>
<p> archivo:
<select name="ARCHIVO_ID_ARCHIVO" size="0">
<?php while($arreglo2= mysql_fetch_array($que2)){ ?>
<option value="<?php echo $arreglo2['0']?> "> <?php echo $arreglo2 ['1']?></option>
<?php } ?>
</select>
</p>
<p>
<input type="submit" value=" enviar datos" />
</p>
</body>
</html>
En un tercer archivo, se define el insert a la base de datos, lo hemos insertar.php
<?php
include("conexion.php");
$combo = $_POST["combo"];
//$canal = $_POST['id_director'];
//$canal1 = $_POST['arreglo1'];
//$canal2= $_POST['arreglo2'];
if(isset ($_POST['id_trab'])&& !empty($_POST['id_trab'])
&& isset ($_POST['titulo']) &&!empty($_POST['titulo'])
&& isset ($_POST['AUTOR']) &&!empty($_POST['AUTOR'])
&& isset ($_POST['id_director']) &&!empty($_POST['id_director'['0']])
&& isset ($_POST['id_programa']) &&!empty($_POST['id_programa'])
&& isset ($_POST['resumen']) &&!empty($_POST['resumen'])
&& isset ($_POST['PALABCLAVE']) &&!empty($_POST['PALABCLAVE'])
&& isset ($_POST['MODALIDAD']) &&!empty($_POST['MODALIDAD'])
&& isset ($_POST['FECHA']) &&!empty($_POST['FECHA'])
&& isset ($_POST['ARCHIVO_ID_ARCHIVO']) &&!empty($_POST['ARCHIVO_ID_ARCHIVO']))
{
$con=mysql_connect($host,$user,$pw) or die ("problemas al conectar");
mysql_select_db($db,$con) or die ("problemas con la base de datos");
$result = mysql_query("SELECT * FROM director WHERE id_director= $combo"); //Aqui condicionamos el id del campo que mostraste en el combo que se igual al al valor que se registro en el select para que sepa que campo almacenar
while($row = mysql_fetch_array($result)) { //Volvemos a hacer el ciclo para que rescate el valor
$iddi= $row["id_director"];
}
mysql_query("INSERT INTO TRABGRADO (id_trab, titulo, AUTOR, id_director, id_programa, resumen, PALABCLAVE, MODALIDAD,FECHA, ARCHIVO_ID_ARCHIVO)
VALUES('$_POST[id_trab]', '$_POST[titulo]', '$_POST[AUTOR]',('$nombre')", '$_POST[resumen]','$_POST[PALABCLAVE]','$_POST[MODALIDAD]','$_POST[FECHA]')",$con);
echo "datos insertados";
}else{
echo "problemas al insertar datos";
}
?>
Después de revisar el código no sabemos la razón por la que no almacena los datos del formulario.
Agradecemos su valiosa colaboración.