Foros del Web » Programando para Internet » PHP »

Registros ordenados alfabéticamente usando datos de distintas tablas

Estas en el tema de Registros ordenados alfabéticamente usando datos de distintas tablas en el foro de PHP en Foros del Web. El echo de $query_producto: SELECT * FROM productos WHERE id_relacion IN (25,26,28,29,30,32,36,37,220) ORDER BY nombre_producto ASC NULL ¡¡Correcto!! :) EL var_dump de $num_row no aparece, ...

  #31 (permalink)  
Antiguo 27/07/2009, 03:47
Avatar de 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

El echo de $query_producto:

SELECT * FROM productos WHERE id_relacion IN (25,26,28,29,30,32,36,37,220) ORDER BY nombre_producto ASC NULL

¡¡Correcto!! :)

EL var_dump de $num_row no aparece, ya se queda en blanco la página...
  #32 (permalink)  
Antiguo 27/07/2009, 03:48
Avatar de 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

Sí, si aparece, lo he hecho mal, el var_dump:
int(143)
  #33 (permalink)  
Antiguo 27/07/2009, 03:50
Avatar de abidibo  
Fecha de Ingreso: mayo-2009
Mensajes: 121
Antigüedad: 15 años
Puntos: 7
Respuesta: Registros ordenados alfabéticamente usando datos de distintas tablas

Si claro, porque ahora no estas en el bucle.....
Para que te sirve este parte? Puedes ponerla despues, cuando recoges los datos de los productos? Porque alli si tienes la posibilidad de definir el id_relacion como que es un campo de la tabla productos y lo tienes entre los resultados
  #34 (permalink)  
Antiguo 27/07/2009, 04:00
Avatar de 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

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 />";
            }
    
    } 
  #35 (permalink)  
Antiguo 27/07/2009, 04:37
Avatar de abidibo  
Fecha de Ingreso: mayo-2009
Mensajes: 121
Antigüedad: 15 años
Puntos: 7
Respuesta: Registros ordenados alfabéticamente usando datos de distintas tablas

WOW, menos mal, por fin lo hemos conseguido.
Ciao!
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:06.