Ver Mensaje Individual
  #1 (permalink)  
Antiguo 24/01/2009, 15:29
Avatar de ratmayor
ratmayor
 
Fecha de Ingreso: noviembre-2005
Ubicación: Puerto La Cruz
Mensajes: 23
Antigüedad: 19 años, 2 meses
Puntos: 0
Exclamación Insertar registros a varias tablas de la Base de Datos

Saludos a la comunidad, hice un pequeño sitio en el que llevará un carrito de compras y un sistema de noticias, cada una de esas secciones debe tener fotografias, el carrito de compra fotografias del producto y las noticias fotografias que tengan que ver respectivamente.

Para que el sistema fuera eficiente cree las siguientes tablas:
STORE_ITEM (donde almaceno los productos, descripcion, marcar, precio)
NEWS (donde almaceno las noticias)
GALLERY (una tabla donde almaceno las fotografias de ambas secciones)

en la tabla GALLERY cree dos campos relacionales, uno que dice a que seccion pertenece y otro a que registro pertenece...

La pesadilla comienza cuando quiero cargar los datos, cual seria la forma mas eficiente de cargar los datos de por ejemplo: STORE_ITEM & GALLERY o NEWS & GALLERY?

Actualmente debo cargar la noticia o el producto antes y luego cargar las imagenes de esta forma:

Código PHP:
<?php
 
//Probaremos el ejemplo cargando un producto a la tienda...
 
$link mysql_connect('localhost''mysql_user''mysql_password');
if (!
$link) {
    die(
'Error al conectar: ' mysql_error());
}
mysql_select_db('mydb');
//Inserto los datos del producto
if(mysql_query("INSERT INTO store_item (trade,model,description,price,warranty) values ('ACME','Cohete','Cohete buscador de correcaminos','$1000','Ninguna')")){
 
//Si la consulta funciona...
 //Obtengo antes el ID del registro
 
$id mysql_insert_id(); 
 
//Cargo formulario para cargar imagenes
 
header("Location: formulario.php?mostrar=form_fotos&id=$id");
}
else{
 
//pero si no funciona...
 
'Error al conectar: ' mysql_error()
}
//Luego al cargar imagenes, teniendo el ID del registro se me hace mas facil =)
/*los campos section_id e item_id serán los que indiquen a quien pertenece
esta imagen, Como el ejemplo lo estamos haciendo con la tienda (store_item)
el campo section_id contendra "tienda" y el campo item_id contendrá el ID del
producto que cargamos anteriormente...*/
if(mysql_query("INSERT INTO gallery (section_id,item_id,imagen,file_name,file_type,file_size) values ('tienda','1','<BINARY>',cohete.jpg,image/pjpeg,3025)")){
 
//Si la consulta funciona...
 //Obtengo antes el ID del registro
 
$id mysql_insert_id(); 
 
//muestro la pantalla indicando que todo esta terminado
 
header("Location: formulario.php?mostrar=listo");
}
else{
 
//pero si no funciona...
 
'Error al conectar: ' mysql_error()
}
?>
Pero como ven, el proceso es como que muy engorroso, me gustaria hacer todo es en un solo proceso, espero que me puedan ayudar, saludos!