Foros del Web » Programando para Internet » PHP »

Duda con un ingresar y un mostrar

Estas en el tema de Duda con un ingresar y un mostrar en el foro de PHP en Foros del Web. hola amigos, tengo 2 dudas que ojala me puedan respnder... tengo una relacion de 1,n - 1,n entre tabla COMPUTADOR(id_com) y tabla PARTE(id_par) que me ...
  #1 (permalink)  
Antiguo 11/10/2006, 11:00
 
Fecha de Ingreso: septiembre-2006
Mensajes: 196
Antigüedad: 17 años, 6 meses
Puntos: 0
Exclamación Duda con un ingresar y un mostrar

hola amigos, tengo 2 dudas que ojala me puedan respnder...
tengo una relacion de 1,n - 1,n entre tabla COMPUTADOR(id_com) y tabla PARTE(id_par) que me genero una tabla intermedia USA(id_com, id_par)

1) para registrarle "N" partes de mi tabla parte a la tabla computador cuando se me crea una tabla intermedia es asi? (si no es la forma diganme como es porfavor)

crea_com.php
Código PHP:
$query="INSERT INTO computador (id_com, id_sala, id_red, ingreso_com, garantia_com, usb_com) 
VALUES ('', '$sala', '$red', '$date', '$garantia', '$usb')"
$result=mysql_db_query($database,$query,$conexion); //ID AUTONUMERICO
//INGRESO A LA TABLA COMPUTADOR SUS DATOS PROPIOS 

$query="INSERT INTO usa (id_com, id_par)  
VALUES ('$id_com', '$tmadre')"
//es como decir VALUES('1', '1')
$result=mysql_db_query($database,$query,$conexion); 
//ASI LE EMPIEZO A ASIGNAR LAS PARTES --> PARTE NRO 1 
//tmadre es un combo que hice de mi tabla PARTE con condiciones para 
//mostar ID solo de tarjetas madre 

$query="INSERT INTO usa (id_com, id_par)  
VALUES ('$id_com', '$proce')"
//es como decir VALUES('1', '2')
$result=mysql_db_query($database,$query,$conexion); 
//ASI LE EMPIEZO A ASIGNAR LAS PARTES --> PARTE NRO 2, etc... 
//proce es un combo que hice de mi tabla PARTE con condiciones para 
//mostar ID solo de procesadores. 
2) como tendria que qeudar el mostrar COMPUTADOR para mostrar datos propioas de la tabla compuador y las partes que tiene asociodas??

le pongo un ejemplo de mostrar discos para uqe vean la manera en que lo hago (una tbla con titulo y las filas hacia abajo)
mostrar.php
Código PHP:
$result mysql_query("SELECT id_disco, modelo_disco FROM disco_duro ORDER BY id_disco ASC"$conexion);
if (
$row mysql_fetch_array($result)){
echo 
"<table border = '1'> \n";
echo 
"<tr> \n";
echo 
"<td><b><FONT>ID</font></b></td> \n";
echo 
"<td><b><FONT>Modelos Discos</font></b></td> \n";
echo 
"</tr> \n";
do {
echo 
"<tr> \n";
echo 
"<td>".$row["id_disco"]."</td> \n";
echo 
"<td>".$row["modelo_disco"]."</td> \n";
echo 
"</tr> \n";
} while (
$row mysql_fetch_array($result));
echo 
"</table> \n"

PORFAVOR RESPONDAME ESAS 2 DUDAS QUE DEJE EN NEGRITO PORQUE ESTOY PEGADO HACE MUCHOS DIAS Y NO SE A QUIEN PREGUNTAR...

Última edición por gazuzax; 11/10/2006 a las 16:19
  #2 (permalink)  
Antiguo 11/10/2006, 14:36
 
Fecha de Ingreso: septiembre-2006
Mensajes: 196
Antigüedad: 17 años, 6 meses
Puntos: 0
porfavor una repuesta que me ayude...
  #3 (permalink)  
Antiguo 11/10/2006, 15:28
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 22 años, 3 meses
Puntos: 129
1) Ese "id_com" que es tu clave primaria que va a relacionar al resto .. no sé de donde lo sacas pero deberías obtenerlo por el ID generado (supongo que de un campo autonumérico? Realmente no detallas la estructura de tus tablas implicadas ni explicas su relación o como lo tienees pensado!!!!).

Bueno .. en cualquier caso .. ese ID lo obtienes con mysql_insert_id() y el resultado (el ID último generado) será el que uses para ir creando tus relaciones en las tablas restantes implicadas (sea la relación que sea entre ellas).

2) Antes tendrías que aclarar la estructura de tus tablas y relaciones. Pero en general tendrías que usar o una sub-consulta en SQL o INNERT JOIN o LEFT/RIGTH JOIN ..

Todo esto es un tema que debes resolver en el foro de "Base de datos". Sobre todo la 2° cuando tengas claro como insertas tus datos en tus BBDD.

Un saludo,
__________________
Por motivos personales ya no puedo estar con Uds. Fue grato haber compartido todos estos años. Igualmente los seguiré leyendo.
  #4 (permalink)  
Antiguo 11/10/2006, 16:12
 
Fecha de Ingreso: septiembre-2006
Mensajes: 196
Antigüedad: 17 años, 6 meses
Puntos: 0
xcias por responderme aki ahora.
sobre mi SELECT para motrar datos del computador y partes asociadas ya vere INNERT JOIN o LEFT/RIGTH JOIN, no esoty familiarizado con muchas instrucciones SQL aparte de lo basico, las aprendere

sobre mi insert se me fue decir lo del id, no tengo complicaiones pq es autonumerico y lo obtego en mi formulario para validaciones no con mysql_insert_id() sino de otra forma pero bien.

pero en pocas palabras entonces esa es la sintaxis correcta para asociar "N" PARTES a COMPUTADOR ??
la duda me corroe la mente
  #5 (permalink)  
Antiguo 11/10/2006, 17:11
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 22 años, 3 meses
Puntos: 129
Cita:
sobre mi insert se me fue decir lo del id, no tengo complicaiones pq es autonumerico y lo obtego en mi formulario para validaciones no con mysql_insert_id() sino de otra forma pero bien.
mmmmmm .. realmente a nivel de "transacción" donde corresponde obtener ese "id_com" que es un campo autonumérico (de Mysqls própio) es justo e inmediatamente despues del "INSERT" que genera ese registro y se genera a su vez una nueva cuenta para ese campo autonumérico. Tu no sabes si entre que tu obtienes es "Id_com" por otro lado y el proceso en sí de este INSERT se han ejecutado otros "INSERT" en otras intancias.

Cita:
pero en pocas palabras entonces esa es la sintaxis correcta para asociar "N" PARTES a COMPUTADOR ??
Si, .. así sería .. Pero no hables de "sintax" .. esa "forma" de generar tus "INSERT's" consecutivos no es una "sintax" sino dada por el tipo de relación que quieres conseguir y como lo asocias (bajo que "clave foránea's") que usas para hacer tus relaciones.

Un saludo,


Un saludo,
__________________
Por motivos personales ya no puedo estar con Uds. Fue grato haber compartido todos estos años. Igualmente los seguiré leyendo.
  #6 (permalink)  
Antiguo 11/10/2006, 17:21
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 22 años, 3 meses
Puntos: 129
Te paso algo de documentación para que leas al respecto:

Sobre SQL algo más "avanzado" ...
http://www.mysql-hispano.org/page.php?id=31&pag=9
(en general leete todo el tutorial y todos los que en ese sitio encuentres, ninguno tiene desperdicio).

Un saludo,
__________________
Por motivos personales ya no puedo estar con Uds. Fue grato haber compartido todos estos años. Igualmente los seguiré leyendo.
  #7 (permalink)  
Antiguo 11/10/2006, 19:48
 
Fecha de Ingreso: septiembre-2006
Mensajes: 196
Antigüedad: 17 años, 6 meses
Puntos: 0
xcias cluster, te pasaste eso era todo lo que necesitaba saber, los selcts necesarios los buscare con la documentacion esta muy buena me servira mucho, algo asi era lo que necesitaba un saludo y xcias de nuevo
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:59.