Foros del Web » Programando para Internet » PHP »

unir el resultado de un array con otra tabla

Estas en el tema de unir el resultado de un array con otra tabla en el foro de PHP en Foros del Web. Hola, a ver si me explico. Tengo dos tablas, una de productos y otra de tapizados. En la tabla productos hay un campo que es ...
  #1 (permalink)  
Antiguo 09/09/2015, 09:48
 
Fecha de Ingreso: septiembre-2015
Ubicación: Cordoba
Mensajes: 2
Antigüedad: 8 años, 7 meses
Puntos: 0
Exclamación unir el resultado de un array con otra tabla

Hola, a ver si me explico.
Tengo dos tablas, una de productos y otra de tapizados.
En la tabla productos hay un campo que es tap_pro que contiene los id del tapizado que utilizan separado por comas 1,2,3,4

Logro hacer que me muestre el listado de estos id separados, pero lo que no logro es transformar esos datos en imagen y nombre del tapizado.

con este código logre hacer el array pero no se como seguir.... alguien que se apiade de mi..... gracias

<?php
$query="
SELECT * FROM productos
WHERE marca_pro = 1
AND
tipo_pro = 1
";
$sql = mysql_query($query) or die (mysql_error());
while ($row = mysql_fetch_array($sql)) {
$tap_pro = $row["tap_pro"];
$valores_encadenados = $tap_pro;
$valor_array = explode(',',$valores_encadenados);
foreach($valor_array as $valores)
{
echo "<div class=\"material\">
<div class=\"imagen_material_c\">$valores</div>
</div>
<!-- end material -->\n";
}
}
?>
  #2 (permalink)  
Antiguo 10/09/2015, 02:00
Avatar de repara2  
Fecha de Ingreso: septiembre-2010
Ubicación: München
Mensajes: 2.445
Antigüedad: 13 años, 7 meses
Puntos: 331
Respuesta: unir el resultado de un array con otra tabla

"pero lo que no logro es transformar esos datos en imagen y nombre del tapizado" tendrás que ser un poco más claro en este punto.
__________________
Fere libenter homines, id quod volunt, credunt.
  #3 (permalink)  
Antiguo 10/09/2015, 06:02
Avatar de gogupe  
Fecha de Ingreso: octubre-2006
Ubicación: Mallorca
Mensajes: 897
Antigüedad: 17 años, 6 meses
Puntos: 32
Respuesta: unir el resultado de un array con otra tabla

Es verdad que la pregunta está algo confusa, pero entiendo que tiene dos tablas de una base de datos, donde ambos comparte un identificado, es asi?

En tal caso, lo que tienes que haces es unir ambas tablas con INNER JOIN, algo asi como:
Código:
SELECT * FROM productos INNER JOIN tapizados ON productos.tap_pro=tapizados.¿¿??
WHERE productos.marca_pro = 1 AND productos.tipo_pro = 1
Sustituye ¿¿?? por el campo de la segunda tabla que hace la unión con la primera.

Cualquier duda, ya sabes
__________________
Somos una serie de acontecimiento que puede venir al caso en un momento dado.
  #4 (permalink)  
Antiguo 10/09/2015, 11:05
 
Fecha de Ingreso: septiembre-2015
Ubicación: Cordoba
Mensajes: 2
Antigüedad: 8 años, 7 meses
Puntos: 0
Respuesta: unir el resultado de un array con otra tabla

Gracias por la pronta contestación, pero creo que no me explique bien.
Voy a intentar ser lo mas claro posible

Dos tablas

Productos:
id_pro
tap_pro

Tapizados
id_tap
nombre_tap
imagen_tap


en el campo de productos tap_pro , guardo los datos de id_tap que están separados por comas.
Esto es porque cada producto no tiene siempre los mismos tapizados

el tema esta como poder mostrar nombre_tap y imagen_tap y no el array con el numero del id tap_pro
  #5 (permalink)  
Antiguo 11/09/2015, 00:09
Avatar de gogupe  
Fecha de Ingreso: octubre-2006
Ubicación: Mallorca
Mensajes: 897
Antigüedad: 17 años, 6 meses
Puntos: 32
Respuesta: unir el resultado de un array con otra tabla

Vale, ahora te he entendido...

En mi opinión tienes mal definido el diseño de la base de datos, lo que has hecho, no se puede hacer una relación "uno a varios".

Si lo que quieres hacer es que un producto puede tener varios tapizados, necesitaras 3 tablas distintas, tal como:

Productos:
id_pro

Tapizados
id_tap
nombre_tap
imagen_tap

Relacion:
id_pro
id_tap

De modo que en la tabla relación, podrás asociar cada producto a un o varios tapizados o a ninguno.

Yo lo haría asi, ya que como lo has hecho, sería imposible hacer las relaciones entre tablas.

Saludos.
__________________
Somos una serie de acontecimiento que puede venir al caso en un momento dado.

Etiquetas: mysql, resultado, select, sql, tabla
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 12:57.