RomiChan Posted November 10, 2015 Report Share Posted November 10, 2015 (edited) Holaa, tengo una duda con un formulario que hice para crear un curso. Quiero aclarar que en la tabla curso, la clave foránea de coordinador sale como "rut_coordinador", pero en la base de datos esta puesto como "coordinador_rut". crearcurso.php <? include "conexion.php"; //session_start(); //if(!isset($_SESSION['username'])) //{ //header("Location: login_coor.php"); //exit; //} $con=mysql_connect($host,$user,$pw) or die("Problemas al conectar al servidor"); mysql_select_db($db,$con) or die("Problemas al conectar a la BD"); $consulta=mysql_query("SELECT rut FROM docente") or die("Problemas al hacer la consulta."); while($row=mysql_fetch_assoc($consulta)) { $option .= '<option value = "'.$row['rut'].'">'.$row['rut'].'</option>'; } $consulta2=mysql_query("SELECT rut FROM coordinador"); while($row2=mysql_fetch_assoc($consulta2)) { $option2 .= '<option value="'.$row2['rut'].'">'.$row2['rut'].'</option>'; } ?> <!doctype html> <html> <head> <meta charset="utf-8"> <title>Documento sin título</title> </head> <body><center> <h1>Crear curso:</h1> <form action="crearcursodb.php" method="post"><table width="293" border="0"> <tbody> <tr> <td>Codigo:</td> <td><input type="text" name="codigo"></td> </tr> <tr> <td width="133">Nombre curso:</td> <td width="144"><input type="text" name="nombre"></td> </tr> <tr> <td>Curso obligatorio:</td> <td><select name="obligatorio"> <option>s</option> <option>n</option> </select></td> </tr> <tr> <td>Rut profesor asignado:</td> <td> <select name="rut_docente"> <? echo $option; ?> </select></td> </tr> <tr> <td>Rut coordinador</td> <td><select name="rut_coordinador"> <? echo $option2; ?> </select></td> </tr> <tr> <td> </td> <td><input type="submit" name="crear" value="Crear"></td> </tr> </tbody> </table> </form> </center><br> <a href="opciones.php">Volver</a> </body> </html> crearcursodb.php <? //session_start(); //if(!isset($_SESSION['username'])) //{ //header("Location: login_coor.php"); //exit; //} ?> <? include "conexion.php"; if(isset($_POST['codigo']) && !empty($_POST['codigo']) && isset($_POST['nombre']) && !empty($_POST['nombre']) && isset($_POST['obligatorio']) && !empty($_POST['obligatorio']) && isset($_POST['rut_docente']) && !empty($_POST['rut_docente']) && isset($_POST['rut_coordinador']) && !empty($_POST['rut_coordinador'])) { $con=mysql_connect($host,$user,$pw) or die("Problemas al conectar al servidor."); mysql_select_db($db,$con) or die("Problemas al conectar a la bd."); mysql_query("INSERT INTO curso (codigo, nombre, obligatorio, rut_docente, coordinador_rut) VALUES ('$_POST[codigo]','$_POST[nombre]','$_POST[obligatorio]','$_POST[rut_docente]','$_POST[rut_coordinador]'",$con) or die("Problemas en la consulta".mysql_error()); echo "Datos insertados."; } else { echo "No se puede crear el curso."; } ?> Me salta el error en la consulta. Espero puedan ayudarme u.u Muchas gracias!! Edited November 10, 2015 by RomiChan Link to comment Share on other sites More sharing options...
cañangasñangas Posted November 11, 2015 Report Share Posted November 11, 2015 lo que pasa es que pusiste $_POST[codigo], $_POST[nombre], etc.. tiene que ser $_POST["codigo"], $_POST["nombre"] Link to comment Share on other sites More sharing options...
RomiChan Posted November 11, 2015 Author Report Share Posted November 11, 2015 Lo cambie por eso y no funcionó u.u Link to comment Share on other sites More sharing options...
cañangasñangas Posted November 11, 2015 Report Share Posted November 11, 2015 (edited) Perdón tu estás bien probé el string del query y está bien encontré el posible error, te falto cerrar el VALUES Lo tienes así VALUES(asd. asd. asd Tiene que ser así VALUES(asd, asd, asd) cambia mysql_query("INSERT INTO curso (codigo, nombre, obligatorio, rut_docente, coordinador_rut) VALUES ('$_POST[codigo]','$_POST[nombre]','$_POST[obligatorio]','$_POST[rut_docente]','$_POST[rut_coordinador]'",$con) or die("Problemas en la consulta".mysql_error()); por mysql_query("INSERT INTO curso (codigo, nombre, obligatorio, rut_docente, coordinador_rut) VALUES ('$_POST[codigo]','$_POST[nombre]','$_POST[obligatorio]','$_POST[rut_docente]','$_POST[rut_coordinador]')",$con) or die("Problemas en la consulta".mysql_error()); ve que tal Edited November 11, 2015 by cañangasñangas Link to comment Share on other sites More sharing options...
RomiChan Posted November 11, 2015 Author Report Share Posted November 11, 2015 Eso era!!!Ohhh un error así me puede costar puntos xDMuchas gracias T^T!! Tengo otras dudas mas, pero veré que tal me va primero =PGracias de nuevo!! Link to comment Share on other sites More sharing options...
cañangasñangas Posted November 11, 2015 Report Share Posted November 11, 2015 No man para nada a veces pasa... ojalá que con eso se arregle del todo Link to comment Share on other sites More sharing options...
RomiChan Posted November 12, 2015 Author Report Share Posted November 12, 2015 Si se arregló =)Pero ahora me falló otra inserción xD Es de otro tipo si, porque uso un listbox, asi que obviamente hay algo que no se como usar. asignaralumno.php <? include "conexion.php"; $con=mysql_connect($host,$user,$pw) or die("Problemas a la conectar al servidor"); mysql_select_db($db,$con) or die("Problemas al conectar la base de datos"); $consulta=mysql_query("SELECT rut FROM alumno") or die("Problemas en la consulta."); while($row=mysql_fetch_assoc($consulta)) { $option .='<option value="'.$row['rut'].'">'.$row['rut'].'</option>'; } $consulta2=mysql_query("SELECT codigo FROM curso"); while($row2=mysql_fetch_assoc($consulta2)) { $option2 .='<option value="'.$row2['codigo'].'">'.$row2['codigo'].'</option>'; } ?> <!doctype html> <html> <head> <meta charset="utf-8"> <title>Documento sin título</title> </head> <body> <form action="asignaralumnobd.php" method="post"> <h1>Asignar alumnos</h1> <p>Seleccione los alumnos a traves de su rut para poder asignarlos a un curso.</p> Código: <input name="idcursa" type="text" size="9"><br><br> Alumnos: <br><br> <select name="rut_alumnos" multiple> <option><? echo $option; ?></option> </select><br><br> Cursos: <br><br> <select name="cod_curso"> <option><? echo $option2; ?></option> </select> <br><br> <input type="submit" name="asignar_alumno" value="Asignar"> </form> </body> </html> asignaralumnobd.php <? include "conexion.php"; if(isset($_POST['idcursa']) && !empty($_POST['idcursa']) && isset($_POST['rut_alumno']) && !empty($_POST['rut_alumno']) && isset($_POST['cod_curso']) && !empty($_POST['cod_curso'])) { $con=mysql_connect($host,$user,$pw) or die("Problemas al conectar al servidor"); mysql_select_db($db,$con) or die("Problemas al conectar con la bd"); mysql_query("INSERT INTO cursa (idcursa, curso_codigo, alumno_rut) VALUES ('$_POST[idcursa]','$_POST[rut_alumno]','$_POST[cod_curso]')",$con) or die("Problemas en la consulta".mysql_error()); echo "Datos insertados."; } else { echo "No se pudo ingresar los datos."; } ?> Como lo hago para que los datos "rut_alumno" que seleccione, cada uno se inserte con los mismos datos (idcursa, cod_curso)?Muchas gracias de antemano u.u Link to comment Share on other sites More sharing options...
Leoxz Posted November 12, 2015 Report Share Posted November 12, 2015 Es porque estas metiendo "options" dentro de otro "option" Link to comment Share on other sites More sharing options...
RomiChan Posted November 12, 2015 Author Report Share Posted November 12, 2015 Mmm quite uno de los option, el de la consulta y luego el del formulario, pero en ninguno de los dos casos me funciona u.u Link to comment Share on other sites More sharing options...
cañangasñangas Posted November 13, 2015 Report Share Posted November 13, 2015 (edited) ¿Hiciste lo que dijo Leoxz en option y option2 ¿Podrías darle echo a la consulta para ver que ande todo bien? Edited November 13, 2015 by cañangasñangas Link to comment Share on other sites More sharing options...
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now