Foros del Web » Programando para Internet » PHP »

Consultar 2 tablas

Estas en el tema de Consultar 2 tablas en el foro de PHP en Foros del Web. Hola, buenas tardes! Les hago una consulta, tengo 2 tablas tabla1 id_categoria id_producto tabla2 id_producto nombre detalle foto quiero hacer una consulta, para que me ...
  #1 (permalink)  
Antiguo 30/01/2012, 10:22
 
Fecha de Ingreso: abril-2003
Mensajes: 260
Antigüedad: 20 años, 11 meses
Puntos: 1
Consultar 2 tablas

Hola, buenas tardes!

Les hago una consulta, tengo 2 tablas

tabla1
id_categoria
id_producto


tabla2
id_producto
nombre
detalle
foto

quiero hacer una consulta, para que me muestre todos los productos de una determinada categoría.

Como debería hacerla?

Muchas Gracias :)
__________________
Bye!
  #2 (permalink)  
Antiguo 30/01/2012, 10:29
 
Fecha de Ingreso: diciembre-2008
Mensajes: 805
Antigüedad: 15 años, 3 meses
Puntos: 20
Respuesta: Consultar 2 tablas

podes usar la funcion inner join
  #3 (permalink)  
Antiguo 30/01/2012, 10:39
 
Fecha de Ingreso: enero-2012
Mensajes: 2
Antigüedad: 12 años, 1 mes
Puntos: 1
Respuesta: Consultar 2 tablas

yo aveces lo que hago seria algo así.

Código MySQL:
Ver original
  1. SELECT * FROM tabla1, tabla2 WHERE tabla1.id_producto = tabla2.id_producto

Saludos
  #4 (permalink)  
Antiguo 30/01/2012, 11:23
 
Fecha de Ingreso: abril-2003
Mensajes: 260
Antigüedad: 20 años, 11 meses
Puntos: 1
Respuesta: Consultar 2 tablas

changereturns probe lo que me dijiste y me tira el siguiente error:

Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in

sergiop21 tendras algun ejemplo para aplicar a mi caso?

Gracias
__________________
Bye!
  #5 (permalink)  
Antiguo 30/01/2012, 11:27
 
Fecha de Ingreso: diciembre-2008
Mensajes: 805
Antigüedad: 15 años, 3 meses
Puntos: 20
Respuesta: Consultar 2 tablas

sippp!!!

Código PHP:

$sql 
" select * from tabla1 inner join tabla2 on tabla1.columna = tabla2.columna where "la condicion necasaria". 

Deben coincidir los datos de la tabla 1 con la tabla 2. por ejemplo

Clientes.idclientes = pagos.idclientes.

Me explico!!!
  #6 (permalink)  
Antiguo 30/01/2012, 11:29
Avatar de loncho_rojas
Colaborador
 
Fecha de Ingreso: octubre-2008
Ubicación: En el mejor lugar del mundo
Mensajes: 2.704
Antigüedad: 15 años, 5 meses
Puntos: 175
Respuesta: Consultar 2 tablas

puede relacionar con WHERE o con JOIN... con WHERE lo haces mas rapido, algo asi.. aunque esto no es PHP, es SQL..

Código SQL:
Ver original
  1. SELECT *
  2. FROM categoria AS c, productos AS p
  3. WHERE c.id_producto= p.id_producto
  4. AND c.id_producto=1

el problema de tu tabla es tu estructura, debido a que en tu tabla categoria solo deberia existir id_categoria y categoria.. y en tu tabla de productos debe haber un id_categoria, y no como lo estas planteando ahora, en cuyo caso deberia ser:


Código SQL:
Ver original
  1. SELECT *
  2. FROM categoria AS c, productos AS p
  3. WHERE c.id_categoria= p.id_categoria
  4. AND p.id_producto=1

lo que traeria la categoria de la tabla categoria.. que corresponde al producto de la tabla producto cuyo ID es 1
__________________
Ayudo con lo que puedo en el foro, y solo en el foro.. NO MENSAJES PRIVADOS.. NO EMAILS NI SKYPE u OTROS.

Antes de hacer un TOPICO piensa si puedes hallarlo en Google o en el Buscador del Foro...
  #7 (permalink)  
Antiguo 30/01/2012, 11:31
Avatar de JuJoGuAl  
Fecha de Ingreso: julio-2009
Ubicación: Venezuela
Mensajes: 754
Antigüedad: 14 años, 7 meses
Puntos: 19
Respuesta: Consultar 2 tablas

si osea debes especificar de que categoria quieres los productos tu consulta deberia quedar asi:

Código SQL:
Ver original
  1. SELECT * FROM tabla1 INNER JOIN tabla2 ON tabla1.id_producto=tabla2.id_producto AND tabla1.id_categoria=XXXXXX

Donde las XXX seria el codigo de la categoria de la cual quieres mostrar los productos...


Amigo Pelao debo de decirte que tambien estas equivocado de seccion tu consulta es sobre SQL o en tu caso particular MYSQL y esta seccion es de PHP... que no tiene nada que ver con lo que preguntas.
  #8 (permalink)  
Antiguo 30/01/2012, 11:55
 
Fecha de Ingreso: abril-2003
Mensajes: 260
Antigüedad: 20 años, 11 meses
Puntos: 1
Respuesta: Consultar 2 tablas

probe con INNER JOIN...

Código PHP:
$sql "SELECT * from jos_vm_product_category_xref inner join jos_vm_product on jos_vm_product_category_xref.id_product = jos_vm_product.id_product where id_category = 7";
$rs mysql_query($sql);
echo 
"<table align=center>"

$columnes 3# Número de columnas (variable) 

for ($i=1$row mysql_fetch_array ($rs); $i++) { 
$resto = ($i $columnes); # Número de celda del <tr> en que nos encontramos 
if ($resto == 1) {echo "<tr>";} # Si es la primera celda, abrimos <tr> 
    
echo "<td width='225' valign='top'><div align='center'><a href='$row[product_url]' target='_blank'><img src='components/com_virtuemart/shop_image/product/$row[product_full_image]' width='200' height='166' /></a><br /> 
  <br />
  <span class='Estilo200'>$row[product_name]<br /> <br /> <br /></span></div></td>"
;  
if (
$resto == 0) {echo "</tr>";} # Si es la última celda, cerramos </tr> 

if (
$resto <> 0) { # Si el resultado no es múltiple de $columnes acabamos de rellenar los huecos 
$ajust $columnes $resto# Número de huecos necesarios 
for ($j 0$j $ajust$j++) {echo "<td>&nbsp;</td>";} 
echo 
"</tr>"# Cerramos la última línea </tr> 

echo 
"</table>"
esta es mi consulta en una hoja .php

y me da el siguiente error:

Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in /www/irde/htdocs/slim2/components/com_jumi/jumi.php(25) : eval()'d code on line 136

Ahora si yo hago la consulta mas facil, por ejemplo asi:

$sql = "SELECT * from jos_vm_product_category_xref"

funciona perfecto.

No entiendo porque no anda... :$
sry
__________________
Bye!
  #9 (permalink)  
Antiguo 30/01/2012, 12:00
 
Fecha de Ingreso: diciembre-2008
Mensajes: 805
Antigüedad: 15 años, 3 meses
Puntos: 20
Respuesta: Consultar 2 tablas

debe ser por que no tienes datos relacionados entre si o sea que el 7 debe existir en ambas tablas.
  #10 (permalink)  
Antiguo 30/01/2012, 12:03
Avatar de loncho_rojas
Colaborador
 
Fecha de Ingreso: octubre-2008
Ubicación: En el mejor lugar del mundo
Mensajes: 2.704
Antigüedad: 15 años, 5 meses
Puntos: 175
Respuesta: Consultar 2 tablas

bueno, el problema pasa porque no tienes definido bien el diseño de tu tabla...

A parte de COMBIANAR tablas.. cual es el objetivo de eso?
__________________
Ayudo con lo que puedo en el foro, y solo en el foro.. NO MENSAJES PRIVADOS.. NO EMAILS NI SKYPE u OTROS.

Antes de hacer un TOPICO piensa si puedes hallarlo en Google o en el Buscador del Foro...
  #11 (permalink)  
Antiguo 30/01/2012, 12:29
 
Fecha de Ingreso: abril-2003
Mensajes: 260
Antigüedad: 20 años, 11 meses
Puntos: 1
Respuesta: Consultar 2 tablas

quiero mostrar los productos de una categoría en particular.

El tema es que en joomla en la tabla de productos no hace referencia a una categoria...por lo que hay una tabla que son las categorías...y hacen referencia a numero de producto.

tabla categorias
id_category
id_product

tabla productos
id_product
bla bla
bla bla
bla bla
__________________
Bye!
  #12 (permalink)  
Antiguo 30/01/2012, 12:35
 
Fecha de Ingreso: diciembre-2008
Mensajes: 805
Antigüedad: 15 años, 3 meses
Puntos: 20
Respuesta: Consultar 2 tablas

entonces

Código PHP:

SELECT 
from jos_vm_product_category_xref inner join jos_vm_product on jos_vm_product_category_xref.id_product jos_vm_product.id_product 
$rs 
mysql_query($sql);
echo 
$reg mysql_num_rows(); 
bien, no le coloques condicion para ver si te trae registros.
  #13 (permalink)  
Antiguo 30/01/2012, 12:44
 
Fecha de Ingreso: abril-2003
Mensajes: 260
Antigüedad: 20 años, 11 meses
Puntos: 1
Respuesta: Consultar 2 tablas

No esta funcionando eso sergio, me dice:

Warning: Wrong parameter count for mysql_num_rows() in /www/irde/htdocs/slim2/components/com_jumi/jumi.php(25) : eval()'d code on line 132

como que no encuentra registros, pero hay varios que coinciden, algo debe estar mal en la consulta.

gracias por la ayuda
__________________
Bye!
  #14 (permalink)  
Antiguo 30/01/2012, 12:50
 
Fecha de Ingreso: diciembre-2008
Mensajes: 805
Antigüedad: 15 años, 3 meses
Puntos: 20
Respuesta: Consultar 2 tablas

en tu bd, el valor del campo a relacionar es el mismo. por ejemplo

producto
idproducto = integer;

categoria
idproducto = integer,

eso es asi?? los valores que coloque son ejemplos
  #15 (permalink)  
Antiguo 30/01/2012, 13:08
 
Fecha de Ingreso: abril-2003
Mensajes: 260
Antigüedad: 20 años, 11 meses
Puntos: 1
Respuesta: Consultar 2 tablas

si sergio son iguales...int(11) en mi caso.
__________________
Bye!
  #16 (permalink)  
Antiguo 30/01/2012, 13:13
Avatar de loncho_rojas
Colaborador
 
Fecha de Ingreso: octubre-2008
Ubicación: En el mejor lugar del mundo
Mensajes: 2.704
Antigüedad: 15 años, 5 meses
Puntos: 175
Respuesta: Consultar 2 tablas

y no probaste con mi solucion que te di mas arriba?
__________________
Ayudo con lo que puedo en el foro, y solo en el foro.. NO MENSAJES PRIVADOS.. NO EMAILS NI SKYPE u OTROS.

Antes de hacer un TOPICO piensa si puedes hallarlo en Google o en el Buscador del Foro...
  #17 (permalink)  
Antiguo 30/01/2012, 13:16
 
Fecha de Ingreso: diciembre-2008
Mensajes: 805
Antigüedad: 15 años, 3 meses
Puntos: 20
Respuesta: Consultar 2 tablas

Podes revisar que los nombes esten bien, y antes del for coloca un die;
  #18 (permalink)  
Antiguo 30/01/2012, 13:36
 
Fecha de Ingreso: abril-2003
Mensajes: 260
Antigüedad: 20 años, 11 meses
Puntos: 1
Respuesta: Consultar 2 tablas

ahi me funciono!!!

muchisimas gracias a todos!
__________________
Bye!
  #19 (permalink)  
Antiguo 30/01/2012, 13:37
 
Fecha de Ingreso: diciembre-2008
Mensajes: 805
Antigüedad: 15 años, 3 meses
Puntos: 20
Respuesta: Consultar 2 tablas

cual era el problema???
  #20 (permalink)  
Antiguo 30/01/2012, 14:00
 
Fecha de Ingreso: abril-2003
Mensajes: 260
Antigüedad: 20 años, 11 meses
Puntos: 1
Respuesta: Consultar 2 tablas

me da verguenza :$
__________________
Bye!
  #21 (permalink)  
Antiguo 30/01/2012, 14:05
 
Fecha de Ingreso: diciembre-2008
Mensajes: 805
Antigüedad: 15 años, 3 meses
Puntos: 20
Respuesta: Consultar 2 tablas

jaja!!! ok
  #22 (permalink)  
Antiguo 30/01/2012, 14:07
Avatar de loncho_rojas
Colaborador
 
Fecha de Ingreso: octubre-2008
Ubicación: En el mejor lugar del mundo
Mensajes: 2.704
Antigüedad: 15 años, 5 meses
Puntos: 175
Respuesta: Consultar 2 tablas

de todas maneras aportanos cual fue tu error o tu desfazaje asi otros aprenden de eso tambien, esa es la idea del foro, nos alegramos que te haya resultado
__________________
Ayudo con lo que puedo en el foro, y solo en el foro.. NO MENSAJES PRIVADOS.. NO EMAILS NI SKYPE u OTROS.

Antes de hacer un TOPICO piensa si puedes hallarlo en Google o en el Buscador del Foro...
  #23 (permalink)  
Antiguo 30/01/2012, 14:08
 
Fecha de Ingreso: abril-2003
Mensajes: 260
Antigüedad: 20 años, 11 meses
Puntos: 1
Respuesta: Consultar 2 tablas

en todos los ejemplos use id_product...pero en realidad era product_id :/

abrazo y gracias nuevamente
__________________
Bye!
  #24 (permalink)  
Antiguo 30/01/2012, 14:08
 
Fecha de Ingreso: diciembre-2008
Mensajes: 805
Antigüedad: 15 años, 3 meses
Puntos: 20
Respuesta: Consultar 2 tablas

tiene razon loncho_rojas, sirve para aprender!!!

Etiquetas: consultar, tabla, 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 10:56.