Foros del Web » Programación para mayores de 30 ;) » Bases de Datos General »

Consulta PHP+MySQL: Dos tablas relacionadas

Estas en el tema de Consulta PHP+MySQL: Dos tablas relacionadas en el foro de Bases de Datos General en Foros del Web. Hola a todos!... estaba dudando en si postear aquí o en el foro de PHP, pero al final lo pongo aqui y si no es ...
  #1 (permalink)  
Antiguo 18/02/2004, 09:20
 
Fecha de Ingreso: febrero-2004
Mensajes: 4
Antigüedad: 20 años, 2 meses
Puntos: 0
Pregunta Consulta PHP+MySQL: Dos tablas relacionadas

Hola a todos!... estaba dudando en si postear aquí o en el foro de PHP, pero al final lo pongo aqui y si no es correcto, mis disculpas.

Tengo un problemilla al que no sé encontrarle una solución óptima.

Tengo dos tablas:

Facturas:
idfactura
fecha
idcliente
.......

ContenidoFacturas:
idcontenidofacturas
idfactura
idproducto
.......

La cuestion es que mediante un mantenimiento en php quiero dar de alta productos en una factura. Mi idea es crear una factura en la tabla facturas y, una vez seleccionados los productos, crear las entradas en la tabla contenidofacturas. Pero no se me ocurre como relacionar correctamente la 2ª tabla con la 1era, ya que, podria hacerlo asignandole el ultimo idfactura de la tabla facturas, pero si en ese preciso instante otro usuario dade alta una factura (antes de grabar el contenido de la primera), cogeria el id de la del ultimo usuario, con lo que la relacion ya no seria correcta... tampoco se si el modo en el que quiero hacero es el mas correcto o hay algun otro metodo mas optimizado utilizando una sola tabla.

Alguna sugerencia :?

Gracias
  #2 (permalink)  
Antiguo 18/02/2004, 12:21
 
Fecha de Ingreso: febrero-2004
Ubicación: sobre el teclado, muchas noches
Mensajes: 71
Antigüedad: 20 años, 2 meses
Puntos: 1
Pasa por un sistema de tablas auxiliares antes, que no tenga id_factura. (por ejemplo que usen un identificador de sesión como identificador o cualquier otro dato, como el nombre de la empresa). No es grave que no sea óptimo porque es una tabla auxiliar.

Cada cierto tiempo vuelca el contenido de facturas_aux, contenidofacturas_aux a las definitivas facturas y contenidofacturas, ahora sí con el idfactura que quieras.
__________________
Rubén Vidal
OVH Hispano
www.ovh.es
  #3 (permalink)  
Antiguo 18/02/2004, 16:04
 
Fecha de Ingreso: febrero-2004
Mensajes: 4
Antigüedad: 20 años, 2 meses
Puntos: 0
gracias por contestar

hmmmmmm el sistema que me comentas no me soluciona del todo la papeleta, pues es lo mismo que hacerlo directamente. Me explico... tanto de tu manera como de la mia, hay un momento en el que se pasa a la tabla (auxiliar o no) facturas con lo que se crea un id (autoincremental) en esa tabla, y de inmediato se meten los productos relacionados con esa factura en la otra tabla cogiendo el ultimo id de la tabla facturas, pero vuelvo a plantear el hipotetico caso - que se puede dar - de que dos usuarios esten dando de alta una factura a la vez, con lo que en el instante de recoger el ultimo id de la tabla facturas, sea el del ultimo usuario que dio ed alta una nueva. No se si me explico bien, pero en ambos casos -creo- fallaria.

Hay alguna forma de meterlo todo en una misma tabla? o de hacer que el insert se haga a la vez en ambas tablas?
  #4 (permalink)  
Antiguo 18/02/2004, 18:39
 
Fecha de Ingreso: diciembre-2003
Mensajes: 53
Antigüedad: 20 años, 4 meses
Puntos: 0
Hola DfUSE

bueno, según lo que he leido en un libro, MySQL ofrece una función para regresar el último registro Insertado, la cual la usarías justo después de el INSERT, pero no menciona nada de que REALMENTE es el registro que se insertó(lo que tu quieres).


mysql_query( $query, $link );
$id = mysql_insert_id();

Espero te sirva

Saludos

Giorgio
__________________
EmpresasEnRed.com
Diseño Web
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 18:39.