Foros del Web » Programando para Internet » PHP »

PHP OO ¿como insertar registros con php en tablas relacionadas?

Estas en el tema de ¿como insertar registros con php en tablas relacionadas? en el foro de PHP en Foros del Web. Buenas lo que pasa es que tengo dos tablas la tabla 1 es alumnos la cual tiene estos campos idalum(PK) nombre apellido grado la tabla ...
  #1 (permalink)  
Antiguo 07/07/2012, 13:22
Avatar de trofserpiente  
Fecha de Ingreso: julio-2012
Ubicación: Lerida
Mensajes: 220
Antigüedad: 11 años, 9 meses
Puntos: 1
Pregunta ¿como insertar registros con php en tablas relacionadas?

Buenas lo que pasa es que tengo dos tablas

la tabla 1 es alumnos la cual tiene estos campos
idalum(PK)
nombre
apellido
grado

la tabla 2 es notas y tienes estos campos
idnotas(PK)
nota1
nota2
nota final
idalum(FK)

bueno , realizo la relación entre las dos tablas y comienzo a insertar.
el la tabla 1 y ingreso los datos de los alumnos por medio de un formulario y se insertan bien

pero cuando voy a insertar las notas por un formulario no me deja pero la sintaxis esta bien
a qui pego el tozo de código

<?php
$conexA= mysql_connect("localhost","root","")
or die("No se pudo realizar la conexion");
$conexB=mysql_select_db("cole",$conexA…
or die("ERROR con la base de datos");

if(isset($_POST['n1'])){

$n1=$_POST['n1'];
$n2=$_POST['n2'];
$alum=$_POST['idalum'];

mysql_query("INSERT INTO notas(nota_1,nota_2,id)
values('".$n1."','".$n2."','".$alum."')" or die or die(mysql_error()));
}
?>

espero me colaboren ya que es urgente
  #2 (permalink)  
Antiguo 07/07/2012, 13:31
Avatar de patriciomase  
Fecha de Ingreso: abril-2012
Ubicación: Mar del Plata
Mensajes: 323
Antigüedad: 12 años
Puntos: 34
Respuesta: ¿como insertar registros con php en tablas relacionadas?

no hace falta usar dos conexiones.

y fijate en el insert que no hay ninguna columna "id" en tu tabla notas. en todo caso sera 'idalum'
  #3 (permalink)  
Antiguo 07/07/2012, 13:40
Avatar de trofserpiente  
Fecha de Ingreso: julio-2012
Ubicación: Lerida
Mensajes: 220
Antigüedad: 11 años, 9 meses
Puntos: 1
Respuesta: ¿como insertar registros con php en tablas relacionadas?

Cita:
Iniciado por patriciomase Ver Mensaje
no hace falta usar dos conexiones.

y fijate en el insert que no hay ninguna columna "id" en tu tabla notas. en todo caso sera 'idalum'
viejo lo que pasa es que no lo puse en el insert into el id de notas por que es auto-incrementable y por esa razón no la pongo
__________________
Luis Alfonso Cruz Valbuena
[email protected]
  #4 (permalink)  
Antiguo 07/07/2012, 16:40
Avatar de patriciomase  
Fecha de Ingreso: abril-2012
Ubicación: Mar del Plata
Mensajes: 323
Antigüedad: 12 años
Puntos: 34
Respuesta: ¿como insertar registros con php en tablas relacionadas?

mysql_query("INSERT INTO notas(nota_1,nota_2,id)
values('".$n1."','".$n2."','".$alum."')" or die or die(mysql_error()));

en la tabla que pones arriba esa columna id no existe! se llama idalum. esta bien no poner el autoincrement en la consulta pero ese no es un autoincrement, es la FK que hace referencia a la otra tabla
  #5 (permalink)  
Antiguo 07/07/2012, 16:53
Avatar de trofserpiente  
Fecha de Ingreso: julio-2012
Ubicación: Lerida
Mensajes: 220
Antigüedad: 11 años, 9 meses
Puntos: 1
Exclamación Respuesta: ¿como insertar registros con php en tablas relacionadas?

Cita:
Iniciado por patriciomase Ver Mensaje
mysql_query("INSERT INTO notas(nota_1,nota_2,id)
values('".$n1."','".$n2."','".$alum."')" or die or die(mysql_error()));

en la tabla que pones arriba esa columna id no existe! se llama idalum. esta bien no poner el autoincrement en la consulta pero ese no es un autoincrement, es la FK que hace referencia a la otra tabla
bueno pero que tendría que hacer para poder insertar los datos de las notas ,aclaro que ya inserte datos en la primer tabla
__________________
Luis Alfonso Cruz Valbuena
[email protected]
  #6 (permalink)  
Antiguo 07/07/2012, 17:55
Avatar de yebert  
Fecha de Ingreso: marzo-2012
Ubicación: Mérida
Mensajes: 46
Antigüedad: 12 años, 2 meses
Puntos: 3
Respuesta: ¿como insertar registros con php en tablas relacionadas?

trofserpiente; Ya lo solucionaste?
__________________
Yebert
  #7 (permalink)  
Antiguo 07/07/2012, 18:47
Avatar de yebert  
Fecha de Ingreso: marzo-2012
Ubicación: Mérida
Mensajes: 46
Antigüedad: 12 años, 2 meses
Puntos: 3
Respuesta: ¿como insertar registros con php en tablas relacionadas?

Bueno veo que no lo has resuelto prueba este script
Código HTML:
Ver original
  1. function execute($NombreUsuario, $UnidadesA, $UnidadesB)
  2. {
  3. $q1= "INSERT INTO Usuario (NombreUsuario) values ('$NombreUsuario')";
  4. $resultquery = mysql_query($q1);
  5. $errores = mysql_errno();
  6.  
  7. $q2= "INSERT INTO Unidades (UnidadesA, UnidadesB) values ('$UnidadesA','$UnidadesB')";
  8. $resultquery = mysql_query($q2);
  9. $errores = $errores + mysql_errno();
  10. return $errores;
  11. }
  12.  
  13. $result = execute($NombreUsuario, $UnidadesA, $UnidadesB);
  14.  
  15. if ($result == 0) {
  16. echo "Todo Ok";
  17. }  
  18. else
  19. {
  20. echo "Error al insertar datos"
  21. }
__________________
Yebert
  #8 (permalink)  
Antiguo 08/07/2012, 10:32
Avatar de trofserpiente  
Fecha de Ingreso: julio-2012
Ubicación: Lerida
Mensajes: 220
Antigüedad: 11 años, 9 meses
Puntos: 1
Exclamación Respuesta: ¿como insertar registros con php en tablas relacionadas?

Cita:
Iniciado por yebert Ver Mensaje
Bueno veo que no lo has resuelto prueba este script
Código HTML:
Ver original
  1. function execute($NombreUsuario, $UnidadesA, $UnidadesB)
  2. {
  3. $q1= "INSERT INTO Usuario (NombreUsuario) values ('$NombreUsuario')";
  4. $resultquery = mysql_query($q1);
  5. $errores = mysql_errno();
  6.  
  7. $q2= "INSERT INTO Unidades (UnidadesA, UnidadesB) values ('$UnidadesA','$UnidadesB')";
  8. $resultquery = mysql_query($q2);
  9. $errores = $errores + mysql_errno();
  10. return $errores;
  11. }
  12.  
  13. $result = execute($NombreUsuario, $UnidadesA, $UnidadesB);
  14.  
  15. if ($result == 0) {
  16. echo "Todo Ok";
  17. }  
  18. else
  19. {
  20. echo "Error al insertar datos"
  21. }
gracias pero no me funciono el problema es con el id que esta relacionado ya que al realizar la inserción por phpmyadmin si deja pero desde el trozo de php no
__________________
Luis Alfonso Cruz Valbuena
[email protected]
  #9 (permalink)  
Antiguo 08/07/2012, 11:36
Avatar de patriciomase  
Fecha de Ingreso: abril-2012
Ubicación: Mar del Plata
Mensajes: 323
Antigüedad: 12 años
Puntos: 34
Respuesta: ¿como insertar registros con php en tablas relacionadas?

es porque tenes mal el nombre de la columna!! fijate: en el primer post pones:
Cita:
la tabla 2 es notas y tienes estos campos
idnotas(PK)
nota1
nota2
nota final
idalum(FK)
Ahí tenes que insertar nota1, nota2 e idalum....(me imagino que notafinal se calcula con un trigger o desp la insertas o lo que sea...)
Fijate que en el insert que haces pones 'id' en lugar de 'idalum'

tenes que hacer..
Código SQL:
Ver original
  1. INSERT INTO notas(nota1, nota2, idalum) VALUES ....
al id de la otra tabla dejalo tranquilo que no tiene nada que ver.. el id de alumno lo tenes en la variable $alum (tiene que ser un id que exista en la otra tabla de lo contrario si va a dar error por la restricción)

pegá el error que te tira, pero estoy seguro que es eso

Etiquetas: formulario, mysql, registros, sql, tabla, tablas
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 21:25.