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

Tienes TOOOOOODA la razón, lo he metido dentro del bucle de productos y BIEEEEEEEEN!!!!!!!! FUNCIONAAAAAAAAAA!!!!!

Estoy supercontenta

MIL GRACIAS!!!, por todo el tiempo que has empleado conmigo
Sale todo bien, todos los productos y ordenados alfabéticamente GRACIAS, GRACIAS, GRACIAS

(Anda, que no me queda por aprender...)

Aquí lo dejo por si a alguien le sirve...


Código PHP:
    if($id_categoria or $id_marca){
                    
    
// 1) Buscamos la relación dependiendo de si la búsqueda es con id_categoria o con id_marca o con id_categoria e id_marca
            
        
$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 sección, categoría, marca y los datos de los productos
    
                    
while($row_producto=$result_producto->fetch_assoc())
                        {
                        
                        
$id_relacion $row_producto['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();
                        
    
                        echo 
"\n<div id='producto'>\n";
                            echo 
"<div id='img_dcha'>";
                            echo 
"<img src='imagen_mini.php?valor=" $row_producto['id_producto'] .".jpg' />";
                            echo 
"</div>\n";    
                        
                        echo 
"<div id='capa_listado'>\n";    
                            echo 
"<div id='tit_producto'>";
                            echo 
"[" .$row_mc['nombre_marca']. "] ";
                            echo 
"<a href='busqueda.php?id_seccion=" $id_seccion "&id_categoria=" $id_categoria "&id_marca=" $id_marca "&id_producto=" $row_producto['id_producto'] .  "&id_relacion=" $id_relacion "&frase=" $frase "'>";
                            echo 
$row_producto['nombre_producto'];
                            echo 
"</a>";
                            echo 
"</div>\n";    
                            echo 
"Precio: ";
                            echo 
number_format($row_producto['precio'], 2',' '.');
                            echo 
" &euro;<br />";                                        
                        echo 
"\n</div>\n";
                        echo 
"</div>\n";                                    
                        }
                                        
    
        }
        
            else{
            echo 
"<br />No se han encontrado productos<br />";
            }
    
    }