Foros del Web » Programando para Internet » PHP »

¿Como insertar un codigo que acabas de crear en una tabla en otra?

Estas en el tema de ¿Como insertar un codigo que acabas de crear en una tabla en otra? en el foro de PHP en Foros del Web. A ver si me podeis ayudar con un proyecto php Antes que nada os paso unas screens de la estructura de las tablas que me ...
  #1 (permalink)  
Antiguo 28/04/2010, 17:03
Avatar de neoarcangel  
Fecha de Ingreso: enero-2005
Ubicación: España
Mensajes: 566
Antigüedad: 19 años, 3 meses
Puntos: 5
¿Como insertar un codigo que acabas de crear en una tabla en otra?

A ver si me podeis ayudar con un proyecto php
Antes que nada os paso unas screens de la estructura de las tablas que me

interesan


TABLA IMAGENES


TABLA OCUPACIONES


TABLA PERSONAJES



En primer lugar decir que no sé si el planteamiento inicial de la tabla
ocupaciones es el correcto, y quizás por ello no sé si me podrá salir lo que
yo quiero, pero me gustaria alternativas.

Bueno partamos de la tabla personajes, ya tengo un formulario creado la mar
de majo que me inserta la mayoria de los campos pero hay un campo aparte que
no sé como hacerlo y es el de ocupaciones.

La idea es la siguiente.
Cuando estamos insertando el personaje aparte de aparecerte todos los campos
de la tabla personajes te tiene que aparecer el campo ocupaciones y yo tenia
la siguiente idea, que cogiera los campos de la tabla ocupaciones mediante
un desplegable, hasta aqui todo bien y si solo fuera eso pues creo que
podria hacerlo, el problema surge cuando en la tabla personajes no hay una
ocupacion de personaje, me explico, imaginemos que un personaje es
ingeniero, y tu abres el desplegable, te aparecen 10 posibles ocupaciones
pero no esta la del ingeniero, entonces que haces?,

Para que os hagais una idea, primero hago la insercion en la tabla
personajes
y luego...

Si por ejemplo la ocupacion del personaje ya esta en la lista, te tendria
que insertar unicamente en la tabla de ocupaciones el cod del personaje que
tiene esa ocupacion.

pero..

si la ocupacion del personaje no esta en la lista la idea seria poder
escribir la nueva ocupacion en un campo al lado y cuando le des a insertar
te tendria que añadir en la tabla ocupaciones aparte del codigo de
personaje, la nueva ocupacion.
Supongo que luego haciendo un SELECT DISTINCT para el desplegable tendria
que salir sin tener repetidos ¿no?

El problema radica en lo siguiente, que claro el codigo de personaje a
insertar se genera cuando le das a insertar y por lo tanto aunque primero
hagas la insercion en la tabla personajes, como le pasas un codigo que
acabas de generar a la tabla ocupaciones?

Y bueno ahora que pienso, el problema que tengo con la TABLA IMAGENES es
exactamente el mismo, como le inserto un codigo que acabo de crear en otra
tabla?

Este es mi codigo de insercion, la parte de la insercion de personajes funciona perfectamente pero la parte de la ocupacion no esta completa por que no sé como hacerlo.

Código PHP:
/INSERTAMOS LA PERSONAJES NUEVOS
$sql
="INSERT INTO personajes(nombre_personaje, imagengrande, descripcion_personaje, sexo, estado_civil, sexualidad, diseñador_anime, codpersonaje_categoria )VALUES ('".$nompersonaje."', '".$imagengrande."', '".$descpersonaje."', '".$sexo."', '".$estadocivil."', '".$sexualidadpersonaje."', '".$disenador."', '".$seriepersonaje."')";
//$sql="INSERT INTO personajes(nombre_personaje,imagengrande, descripcion_personaje, sexo, estado_ civil, sexualidad, diseñador_anime )VALUES ('".$nompersonaje."', '".$imagengrande."', '".$descpersonaje."', '".$sexo."', '".$estadocivil."', '".$sexualidadpersonaje."', '".$disenador."')";
echo $sql;
$consulta=mysql_query($sql$conexion);
echo 
'<br ><br >';
//INSERTAMOS LA OCUPACION
$sql="INSERT INTO ocupaciones(nombre_ocupacion )VALUES    ('".$ocuppersonaje."')";
echo 
$sql;
$consulta=mysql_query($sql$conexion); 
__________________
Mi equipo

Gigabyte GA-MA770T-UD3P Socket AM3|OZC StealthxStream 600 w | Gigabyte Radeon HD 4770 512MB GDDR5| AMD Phenom II 945 X4 Quad Core 3.0Ghz| Memoria Kingston 6GB DDR3 1333
  #2 (permalink)  
Antiguo 28/04/2010, 17:21
Avatar de darkasecas  
Fecha de Ingreso: marzo-2005
Ubicación: SantaCata, NL, Mexico
Mensajes: 1.553
Antigüedad: 19 años, 1 mes
Puntos: 77
Respuesta: ¿Como insertar un codigo que acabas de crear en una tabla en otra?

Puedes usar mysql_insert_id()
  #3 (permalink)  
Antiguo 28/04/2010, 17:21
 
Fecha de Ingreso: noviembre-2009
Ubicación: Valencia
Mensajes: 7
Antigüedad: 14 años, 5 meses
Puntos: 0
Respuesta: ¿Como insertar un codigo que acabas de crear en una tabla en otra?

Deja a ver si entendí tu planteamiento que esta un poco confuso:
Tu necesitas que cuando tu crees un nuevo personaje con todos sus datos y no exista una ocupación para el se pueda crear dinamicamente la ocupacion

hasta alli fue que lo entendi!
  #4 (permalink)  
Antiguo 28/04/2010, 17:40
Avatar de neoarcangel  
Fecha de Ingreso: enero-2005
Ubicación: España
Mensajes: 566
Antigüedad: 19 años, 3 meses
Puntos: 5
Respuesta: ¿Como insertar un codigo que acabas de crear en una tabla en otra?

¿Como funciona el mysql_insert_id?


Llegas al formulario y en el apartado de ocupacion ves un desplegable que recoge las ocupaciones de la tabla ocupaciones.

Pues bien, Si la ocupacion del personaje esta en ese desplegable pues simplemente seleccionarla insertar el codigo y nada mas.
pero...
Si no esta, pues poder escribir de algún modo(Que no sé como por que si le das a insertar aunque no hayas tocado el desplegable te va a insertar algún valor), la ocupacion y que te inserte la ocupacion y el codigo del personaje que acabas de crear
__________________
Mi equipo

Gigabyte GA-MA770T-UD3P Socket AM3|OZC StealthxStream 600 w | Gigabyte Radeon HD 4770 512MB GDDR5| AMD Phenom II 945 X4 Quad Core 3.0Ghz| Memoria Kingston 6GB DDR3 1333
  #5 (permalink)  
Antiguo 28/04/2010, 18:43
Avatar de abimaelrc
Colaborador
 
Fecha de Ingreso: mayo-2009
Ubicación: En el planeta de Puerto Rico
Mensajes: 14.734
Antigüedad: 15 años
Puntos: 1517
Respuesta: ¿Como insertar un codigo que acabas de crear en una tabla en otra?

Lee el manual para que veas como funciona mysql_insert_id.
__________________
Verifica antes de preguntar.
Los verdaderos amigos se hieren con la verdad, para no perderlos con la mentira. - Eugenio Maria de Hostos

Etiquetas: 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 19:14.