MySQL - Agregar nuevos registros a una tabla utilizando el id

 
Vista:
sin imagen de perfil

Agregar nuevos registros a una tabla utilizando el id

Publicado por Luis Alberto (1 intervención) el 27/01/2016 20:34:16
Estoy realizando un proyecto con MySQL y PHP en el cual tengo una tabla principal llamada infogeneral que tiene como PK idpelicula y cuatro tablas mas las cuales cada una tiene su llame primaria y una llave foránea que hace referencia a la llave primaria (idpelicula) de la tabla prinicipal (infogeneral), Mis tablas estan de la siguiente forma:

INFOGENERAL FORMATO CALIDAD AUDIO SUBTITULOS

idpelicula PK idformato PK idcalidad PK idaudio PK idsubtitulos PK
idpelIcu FK idpel FK idpelic FK idpeli FK


Se crea una sola pelicula pero puede tener varios formatos, varias calidades, varios audios y varios subtitulos por ejemplo:

Batman Moviles HD Ingles Español
Television SD Español No aplica

Solo una vez insertare la pelicula pero constantemente insertare esos 4 datos (formato,calidad,audio,subtitulos), la primera vez que se introduce la pelicua se tiene que introducir los cuatro datos y tengo el siguiente codigo:

$for = $_POST['formato'];
$cal = $_POST['calidad'];
$au = $_POST['audio'];
$subt = $_POST['subtitulos'];
mysql_query("INSERT INTO infogral (datos) values(variablesphp)",$enlace);
$ultimo_insert = mysql_insert_id();
mysql_query("INSERT INTO formato (idformato,idpelicu,formato) values ('','$ultimo_insert','$for')", $enlace);
mysql_query("INSERT INTO calidad (idcalidad,idpel,calidad) values ('','$ultimo_insert','$cal')", $enlace);
mysql_query("INSERT INTO audio (idaudio,idpelic,audio) values ('','$ultimo_insert','$au')", $enlace);
mysql_query("INSERT INTO subtitulos (idsubtitulos,idpeli,subtitulos) values ('','$ultimo_insert','$subt')", $enlace);

Hasta este punto no tengo ninguna falla, mi problema es que cuando quiero agregar una nueva versión formato, calidad, audio y subtitulos) a esa misma película ya creada no me respeta la llave foránea, es decir, no me asigna las versiones a la película que especifico, tengo esta consulta donde si me arroja las version creada a una pelicula

SELECT infogral.idpelicula, infogral.originalname FROM infogral JOIN formato ON infogral.idpelicula = formato.idpelicu JOIN calidad ON infogral.idpelicula = calidad.idpel JOIN audio ON infogral.idpelicula = audio.idpelic JOIN subtitulos ON infogral.idpelicula = subtitulos.idpeli

¿Como puedo hacerle para agregar mas versiones? siempre y cuando respete la consulta de arriba

Espero y puedan ayudarme
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder