Foros del Web » Programando para Internet » PHP »

consulta mysql php y left join

Estas en el tema de consulta mysql php y left join en el foro de PHP en Foros del Web. hola alguien podria decirme como hacer esta consulta: Tengo la tabla principal: producto_productos campos: IDProducto_Producto | IDProducto_Catalogo| Nombre, |Descripcion |Precio| Imagen, 1 | 1 | ...
  #1 (permalink)  
Antiguo 22/07/2013, 16:32
Avatar de LoUiMaNiAkO  
Fecha de Ingreso: enero-2006
Mensajes: 198
Antigüedad: 18 años, 3 meses
Puntos: 1
consulta mysql php y left join

hola alguien podria decirme como hacer esta consulta:

Tengo la tabla principal: producto_productos
campos:
IDProducto_Producto | IDProducto_Catalogo| Nombre, |Descripcion |Precio| Imagen,
1 | 1 | Tijeras |tijeras azules | 12 |imagen |
2 | 1 | resistol |850 |5 |imagen|
3 | 2 | papel | carta |45 |imagen|



y una tabla secundaria donde selecciono productos xtras para mi catalogo.

productos_xtras
campos:
IDProducto_xtras IDProducto_Catalogo IDProducto_Producto
1 1 3

el chiste es que en mi catalogo devo mostrar un listado con los campos de la tabla producto_productos y ademas los productos que estan en la tabla productos_xtras los cuales deven coincidir con el IDProducto_Catalogo.

segun mis datos rusticos en la tabla mi catalogo deveria mostrar los 3 resultados.


la teoria de mi consulta seria:

seleccionar los productos de productos_xtras si el IDProducto_Catalogo es igual al $Id que viene por post pero tambien deve coincidir con productos_xtras.IDProducto_Producto y producto_productos.IDProducto_Producto

ya me enrede jaja

haber si alguien me ilumina.



edito: intento algo asi

$query_productos = "SELECT * FROM producto_productos, producto_xtras WHERE producto_productos.IDProducto_Catalogo = " . $row_catalogo['IDProducto_Catalogo'] . " OR(producto_xtras.IDProducto_Catalogo = " . $row_catalogo['IDProducto_Catalogo'] . " AND producto_productos.IDProducto_Producto = producto_xtras.IDProducto_Producto)";
__________________
:molesto: "Soy como dios k nunca llora y como satanas k nunca resa":molesto:

Dejate seducir por mis colmillos

Última edición por LoUiMaNiAkO; 22/07/2013 a las 16:35 Razón: ejemplo de mi consulta erronea
  #2 (permalink)  
Antiguo 22/07/2013, 17:00
Avatar de LoUiMaNiAkO  
Fecha de Ingreso: enero-2006
Mensajes: 198
Antigüedad: 18 años, 3 meses
Puntos: 1
Respuesta: consulta mysql php y left join

HE hecho esto : $query_productos = "SELECT * FROM producto_productos JOIN producto_xtras AS c ON c.IDProducto_Producto = producto_productos.IDProducto_Producto "; pero solo me muestra los productos que existen en el xtra y no me respeta si le pongo algun where
__________________
:molesto: "Soy como dios k nunca llora y como satanas k nunca resa":molesto:

Dejate seducir por mis colmillos
  #3 (permalink)  
Antiguo 23/07/2013, 06:59
 
Fecha de Ingreso: diciembre-2009
Mensajes: 49
Antigüedad: 14 años, 4 meses
Puntos: 6
Respuesta: consulta mysql php y left join

Select P.*, X.*
From producto_productos P
inner join producto_xtras X
on P.idProducto_producto =X.idProducto_producto
Where "la condición que gustes. ej: X.valor > 3000"

esto esta escrito en SQL standar, no utilizo generalmente mysql pero entiendo que debería funcionar perfectamente.

espero te sirva
  #4 (permalink)  
Antiguo 23/07/2013, 11:45
Avatar de LoUiMaNiAkO  
Fecha de Ingreso: enero-2006
Mensajes: 198
Antigüedad: 18 años, 3 meses
Puntos: 1
Respuesta: consulta mysql php y left join

funciona pero sin el where, y solo memuestra los productos xtras, lo que necesito es que seleccione los productos de la tabla principal si el id es igual a $variable y ademas agrege los que estan en la tabla xtras.

yo mismo estoy un poko enredado en esto

//////
con esta me muestra correctamente los productos xtras pero le falta agregar los productos de la tabla princial. si uso un AND no funcinoa ya que tengrian que coincidir las dos sentencias, y si uso or me muestra o unas u otras.

$query_productos =
"SELECT * FROM producto_productos JOIN producto_xtras ON producto_productos.IDProducto_Producto = producto_xtras.IDProducto_Producto
where producto_xtras.IDProducto_Catalogo = '".$row_catalogo['IDProducto_Catalogo']."' ";
__________________
:molesto: "Soy como dios k nunca llora y como satanas k nunca resa":molesto:

Dejate seducir por mis colmillos

Última edición por LoUiMaNiAkO; 23/07/2013 a las 11:59 Razón: ejemplos
  #5 (permalink)  
Antiguo 23/07/2013, 13:02
Avatar de LoUiMaNiAkO  
Fecha de Ingreso: enero-2006
Mensajes: 198
Antigüedad: 18 años, 3 meses
Puntos: 1
Respuesta: consulta mysql php y left join

esta funcion me sirve para los xtras:

Código PHP:
$query_productos 
"SELECT * FROM producto_productos JOIN producto_xtras ON producto_productos.IDProducto_Producto =  producto_xtras.IDProducto_Producto 
where producto_xtras.IDProducto_Catalogo = '"
.$row_catalogo['IDProducto_Catalogo']."'";
        
$res_productos $mysql->query($query_productosfalse); 
necesito agregar esta:

Código PHP:
$query_productos "SELECT * FROM producto_productos WHERE IDProducto_Catalogo = '" $row_catalogo['IDProducto_Catalogo'] . "'";
        
$res_productos $mysql->query($query_productosfalse); 
he intentado con UNION PERO NO ME DA NINGUN RESULTADO Y $arreglo_prod[] = shuffle($arreglo_prod); me bota error
__________________
:molesto: "Soy como dios k nunca llora y como satanas k nunca resa":molesto:

Dejate seducir por mis colmillos
  #6 (permalink)  
Antiguo 23/07/2013, 14:39
Avatar de HackmanC  
Fecha de Ingreso: enero-2008
Ubicación: Guatemala
Mensajes: 1.817
Antigüedad: 16 años, 2 meses
Puntos: 260
Sonrisa Respuesta: consulta mysql php y left join

Hola,

Posiblemente,

Código PHP:
"select a.*, b.*
from producto_productos a
left outer join productos_xtras b on a.IDProducto_Producto = b.IDProducto_Producto
where
    a.IDProducto_Catalogo = {$_POST['IDProducto_Catalogo']}
    and (b.IDProducto_Catalogo is null or b.IDProducto_Catalogo = {$_POST['IDProducto_Catalogo']})" 
Saludos,
  #7 (permalink)  
Antiguo 23/07/2013, 15:13
Avatar de LoUiMaNiAkO  
Fecha de Ingreso: enero-2006
Mensajes: 198
Antigüedad: 18 años, 3 meses
Puntos: 1
Respuesta: consulta mysql php y left join

me sigue mostrando solo los de una fila. no puedo hacer que le agrege los demas
__________________
:molesto: "Soy como dios k nunca llora y como satanas k nunca resa":molesto:

Dejate seducir por mis colmillos
  #8 (permalink)  
Antiguo 23/07/2013, 19:20
Avatar de LoUiMaNiAkO  
Fecha de Ingreso: enero-2006
Mensajes: 198
Antigüedad: 18 años, 3 meses
Puntos: 1
Respuesta: consulta mysql php y left join

parece haber quedado de la siguiente manera, si alguien puede ayudarme a reducir codigo:

Código PHP:
$query_productos "select * from producto_productos where IDProducto_Catalogo = '" $row_catalogo['IDProducto_Catalogo'] . "'"  ;
        
$res_productos $mysql->query($query_productosfalse); 
$query_productos2 "SELECT * FROM producto_productos JOIN producto_xtras ON producto_productos.IDProducto_Producto =  producto_xtras.IDProducto_Producto 
where producto_xtras.IDProducto_Catalogo = '" 
$row_catalogo['IDProducto_Catalogo'] . "'"
        
$res_productos2 $mysql->query($query_productos2false); 
        
    
while(
$row_productos mysql_fetch_array($res_productos)){
            
$arreglo_prod[] = $row_productos['IDProducto_Producto'];
        }
        while(
$row_productos2 mysql_fetch_array($res_productos2)){
            
$arreglo_prod[] = $row_productos2['IDProducto_Producto'];
        }
        
        
$arreglo_prod[] = shuffle($arreglo_prod);
        
$ultimo_prod array_pop($arreglo_prod); 
Gracias
__________________
:molesto: "Soy como dios k nunca llora y como satanas k nunca resa":molesto:

Dejate seducir por mis colmillos

Etiquetas: join, left, mysql, 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 08:59.