Jump to content

Error al insertar datos


RomiChan

Recommended Posts

Holaa, tengo una duda con un formulario que hice para crear un curso.

waq2b9.jpg

 

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 by RomiChan
Link to comment
Share on other sites

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 by cañangasñangas
Link to comment
Share on other sites

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

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 account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...