Ver Mensaje Individual
  #27 (permalink)  
Antiguo 27/07/2009, 03:35
Avatar de Anastasiaphp
Anastasiaphp
 
Fecha de Ingreso: junio-2006
Ubicación: El patio de mi casa
Mensajes: 196
Antigüedad: 17 años, 10 meses
Puntos: 3
Respuesta: Registros ordenados alfabéticamente usando datos de distintas tablas

Allá va:

Código PHP:
    if($id_categoria or $id_marca){
                    
    
// 1) Buscamos id_relacion
            
        
$where = array(); 
        if(
$id_categoria$where[] = "id_categoria=$id_categoria"
        if(
$id_marca$where[] = "id_marca=$id_marca"
        
$where_string = (count($where)>0)? "WHERE ".implode(' AND '$where):""
        
        
$conn db_connect(); 
        
$query_r " SELECT id_relacion FROM relaciones $where_string";     
        
        
$result_r = @$conn->query($query_r); 
        
$num_rows_r $result_r->num_rows;             

        echo 
"Relaciones encontradas: ";
        echo 
$num_rows_r;
        echo 
"<br />";

    
// 2) Buscamos la marca, sección, categoria y productos
    
        
if($num_rows_r){
                  
$res_query = array();
                while(
$row $result_r->fetch_assoc()) {
                        
$res_query[] = $row['id_relacion'];
                  }
        
                        
$query_producto =
                        
"
                        SELECT *
                        FROM productos
                        WHERE id_relacion IN ("
.implode(",",$res_query).")
                        ORDER BY $orden ASC
                        "
;
            
                    
$result_producto=@$conn->query($query_producto);
                    
$num_rows $result_producto->num_rows;
                    
// 2.1) Extraigo la sección y categoría a la que pertenecen los productos
                    
                    
if ($num_rows!=0){
                    
                        
$id_relacion $v['id_relacion'];
                        
                        
$conn db_connect(); 
                        
$query_mc =
                        
"
                        SELECT *
                        FROM marcas, categorias, relaciones, secciones
                        WHERE secciones.id_seccion=$id_seccion
                        AND relaciones.id_relacion=$id_relacion
                        AND relaciones.id_marca=marcas.id_marca
                        AND relaciones.id_categoria=categorias.id_categoria
                        "
;
                        
                        
$result_mc = @$conn->query($query_mc);
                        
$row_mc $result_mc->fetch_assoc();
                                
                    }    
                    
            
                    
// 2.2) Extraigo los datos de los productos
    
                    
while($row_producto=$result_producto->fetch_assoc())
                        {
    
                    
/*DATOS PRODUCTOS*/                                    
                        
}
                                        
    
        }
        
            else{
            echo 
"<br />No se han encontrado productos<br />";
            }
    
    }